Function at 0x46395c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2094
call fcn.004ad610
mov eax, dword [0x4f8004]
xor eax, esp
mov dword [esp + 0x2090], eax
mov eax, dword [ebp + 0x18]
lea ecx, [esp + 0xb4]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push eax
mov dword [esp + 0x48], ebx
call fcn.0042a909
mov edi, dword [ebp + 0xc]
xor ecx, ecx
mov eax, ecx
mov dword [esp + 0x202c], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x10]
add eax, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], ecx
push edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov edx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
test edi, edi
je 0x463a7b
test edx, edx
jle 0x463a65
dec edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
test edx, edx
jle 0x463a4d
mov esi, edx
mov edi, edx
mov ebx, edx
mov eax, dword [esp + 0xc0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
lea edx, [eax - 1]
mov eax, dword [esp + 0xc0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
movsx eax, al
cmp eax, 3
je 0x463a2e
mov esi, edi
cmp eax, 4
je 0x463a2e
mov esi, ebx
cmp eax, 0xd
jne 0x463a45
lea edx, [esi - 1]
mov dword [esp + 0x20], edx
mov esi, edx
mov dword [esp + 0x24], edx
mov edi, edx
mov ebx, edx
test edx, edx
jg 0x4639f9
jmp 0x463a49
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0xc0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
test edi, edi
jne 0x463a65
xor ecx, ecx
jmp 0x463a7e
mov ecx, dword [esp + 0xc0]
lea eax, [edi - 1]
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x10]
movsx ecx, al
jmp 0x463a7e
mov ecx, dword [ebp + 0x14]
mov dl, byte [ebx + 0x829]
xor eax, eax
test dl, dl
setne al
cmp byte [ebx + 0x82a], 0
je 0x463a9e
xor eax, eax
test dl, dl
setne al
add eax, 2
mov esi, dword [esp + 0x20]
mov edx, eax
or edx, 4
cmp byte [ebx + 0x82b], 0
cmove edx, eax
and ecx, 0x1f
xor eax, eax
mov dword [esp + 0x9c], edx
cmp ecx, 0xd
cmovne eax, ecx
add ebx, 0x894
mov dword [esp + 0x34], eax
dec esi
lea eax, [esp + 0x94]
mov dword [esp + 0x94], esi
push eax
lea eax, [esp + 0xac]
mov ecx, ebx
push eax
call fcn.00464f06
mov eax, dword [esp + 0xb0]
cmp byte [eax + 0xd], 0
jne 0x463b40
cmp esi, dword [eax + 0x10]
jl 0x463b40
mov esi, dword [ebx]
cmp eax, esi
je 0x463b42
mov ecx, dword [eax + 0x18]
add eax, 0x14
cmp dword [eax], ecx
je 0x463b42
lea edx, [esp + 0x28]
cmp edx, eax
je 0x463b33
push dword [esp + 0x9c]
push ecx
push dword [eax]
mov ecx, edx
call fcn.00464f8b
mov eax, dword [esp + 0x2c]
mov esi, dword [ebx]
mov dword [esp + 0x1c], eax
jmp 0x463b37
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff8
mov dword [esp + 0x40], eax
jmp 0x463b42
mov esi, dword [ebx]
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
lea eax, [esp + 0xac]
push eax
call fcn.00464f06
mov eax, dword [eax + 8]
cmp eax, esi
je 0x463b6e
push esi
push eax
lea eax, [esp + 0xa0]
mov ecx, ebx
push eax
call fcn.00464b04
mov ebx, dword [esp + 0x20]
lea eax, [esp + 0x3c]
and dword [esp + 0x14], 0
lea ecx, [esp + 0xc0]
and dword [esp + 0x3c], 0
push 0x462f8b
push eax
push ebx
call fcn.0042a9e7
mov esi, dword [esp + 0x44]
push 0xb
mov byte [esp + 0x1e], 0
lea ecx, [esi + 0x870]
call fcn.00439cc6
xor ecx, ecx
test eax, eax
push 0xffffffffffffffff
cmovns ecx, eax
imul eax, ecx, 0x14
lea ecx, [esp + 0x4c]
add eax, dword [esi + 0x888]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0xc4]
push eax
push dword [esp + 0x3c]
mov eax, dword [esp + 0xac]
sub eax, edi
push eax
push edi
call fcn.0042b794
mov eax, dword [esp + 0x64]
mov byte [esp + 0x34], 1
mov dword [esp + 0x24], eax
mov byte [esp + 0x1b], 0
cmp eax, dword [esp + 0x50]
jae 0x464644
push 0xa
pop esi
cmp byte [esp + 0x74], 0
je 0x463cae
push 0x462f8b
lea eax, [esp + 0x40]
push eax
push ebx
lea ecx, [esp + 0xcc]
call fcn.0042a9e7
mov edi, dword [esp + 0x44]
mov byte [esp + 0x34], 1
mov eax, dword [edi + 0x824]
cmp eax, 1
jne 0x463c40
mov ecx, dword [esp + 0x3c]
shr ecx, 3
jmp 0x463c64
cmp eax, 2
jne 0x463c4e
mov ecx, dword [esp + 0x3c]
shr ecx, 2
jmp 0x463c64
cmp eax, 3
jne 0x463c59
mov cl, byte [esp + 0x3c]
jmp 0x463c64
cmp eax, 4
jne 0x463cb2
mov ecx, dword [esp + 0x3c]
shr ecx, 1
not cl
and cl, 1
mov dword [esp + 0x34], ecx
jne 0x463cb2
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0x64]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [esp + 0x24]
sub esi, edx
mov eax, dword [esp + 0xc0]
push esi
push 0
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x34]
push 0xa
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ecx
pop esi
jmp 0x463cb2
mov edi, dword [esp + 0x44]
cmp byte [esp + 0x75], 0
je 0x463cef
lea eax, [esp + 0x1b]
mov ecx, edi
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.004637b7
mov eax, dword [esp + 0x64]
inc ebx
mov dword [esp + 0x20], ebx
cmp eax, dword [esp + 0x50]
jae 0x464644
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
xor edx, edx
mov al, dl
mov byte [esp + 0x13], al
cmp dword [esp + 0x78], esi
jne 0x463d06
mov dword [esp + 0x14], edx
jmp 0x463fd8
cmp dword [esp + 0x78], 2
jne 0x463d47
cmp byte [esp + 0x1a], al
jne 0x463fd8
mov ecx, dword [esp + 0x80]
cmp ecx, 0x2b
je 0x463d2c
cmp ecx, 0x2d
jne 0x463fd8
cmp dword [esp + 0x7c], 0x65
je 0x46419d
cmp dword [esp + 0x7c], 0x45
je 0x46419d
jmp 0x463fd8
cmp dword [esp + 0x78], 0xb
jne 0x463f92
push 0x64
lea eax, [esp + 0x2034]
push eax
lea ecx, [esp + 0x50]
call fcn.00478c40
cmp dword [esp + 0x14], 3
push 0xb
pop esi
jne 0x463d8e
lea eax, [esp + 0x2030]
push 0x4ecd94
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x463d8e
push 5
jmp 0x463e88
lea eax, [esp + 0x2030]
push eax
lea ecx, [edi + 4]
call fcn.00479026
test al, al
jne 0x463d87
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x463db2
push 8
jmp 0x463e88
cmp eax, 2
je 0x463e86
cmp eax, 4
je 0x463e4e
cmp eax, 6
je 0x463e4e
lea eax, [esp + 0x2030]
push eax
lea ecx, [edi + 0x414]
call fcn.00479026
test al, al
je 0x463e10
cmp byte [edi + 0x82d], 0
je 0x463e0c
mov eax, dword [esp + 0x2020]
sub eax, 1
js 0x463e0c
push 0
push eax
lea ecx, [esp + 0xc8]
call fcn.0042b5d3
cmp al, 0x2e
je 0x463e89
push 0xe
jmp 0x463e88
lea eax, [esp + 0x2030]
push eax
lea ecx, [esp + 0xac]
call fcn.00429f4a
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0xa8]
push eax
call fcn.00439b9c
lea ecx, [esp + 0xa8]
mov edi, eax
call fcn.00429fa9
test edi, edi
js 0x463e89
mov esi, edi
jmp 0x463e89
mov edi, dword [esp + 0x64]
jmp 0x463e71
cmp al, 0x28
je 0x463e86
cmp al, 0x3a
je 0x463dab
cmp al, 0x20
je 0x463e70
cmp al, 9
je 0x463e70
cmp al, 0xa
je 0x463e70
cmp al, 0xd
jne 0x463e89
inc edi
push 0
push edi
lea ecx, [esp + 0xc8]
call fcn.0042b5d3
test al, al
jne 0x463e54
jmp 0x463e89
push 9
pop esi
push 0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x7c], esi
call fcn.0042b91d
cmp esi, 5
jne 0x463f72
lea eax, [esp + 0x2030]
push str.class
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x463ec6
mov dword [esp + 0x14], 1
jmp 0x46408b
lea eax, [esp + 0x2030]
push 0x4ef350
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x463eeb
mov dword [esp + 0x14], 2
jmp 0x46408b
lea eax, [esp + 0x2030]
push str.import
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x463f10
mov dword [esp + 0x14], 3
jmp 0x46408b
lea eax, [esp + 0x2030]
push str.cdef
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x463f35
mov dword [esp + 0x14], 4
jmp 0x46408b
lea eax, [esp + 0x2030]
push str.cpdef
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
jne 0x463f5a
mov dword [esp + 0x14], 6
jmp 0x46408b
lea eax, [esp + 0x2030]
push str.cimport
push eax
call fcn.004978b0
pop ecx
pop ecx
test eax, eax
je 0x463f03
mov eax, dword [esp + 0x14]
cmp eax, 4
je 0x46408b
cmp eax, 6
je 0x46408b
and dword [esp + 0x14], 0
jmp 0x46408b
mov ecx, dword [esp + 0x78]
cmp ecx, 1
je 0x4640da
push 0xc
pop edi
cmp ecx, edi
je 0x4640da
cmp ecx, 0xf
jne 0x463fe7
mov esi, dword [esp + 0x80]
cmp esi, 0x80
jge 0x463fd8
push esi
call fcn.004979d0
pop ecx
test eax, eax
jne 0x46408b
cmp esi, 0x5f
je 0x46408b
xor edx, edx
push edx
lea ecx, [esp + 0x4c]
call fcn.0042b91d
jmp 0x46408b
mov ecx, dword [esp + 0x78]
call fcn.00463037
test al, al
je 0x464060
cmp dword [esp + 0x80], 0x5c
jne 0x464044
cmp dword [esp + 0x88], 0xd
jne 0x464027
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
add eax, 2
push edx
push eax
call fcn.0042b5d3
cmp al, 0xa
jne 0x464027
lea ecx, [esp + 0x48]
call fcn.0042b8bb
mov eax, dword [esp + 0x88]
cmp eax, esi
je 0x46403d
cmp eax, 0xd
je 0x46403d
lea ecx, [esp + 0x48]
jmp 0x464086
mov byte [esp + 0x1b], 1
jmp 0x46408b
mov ecx, dword [esp + 0x78]
call fcn.0046306b
movsx eax, al
cmp dword [esp + 0x80], eax
jne 0x4640f3
push edx
jmp 0x4640b4
mov ecx, dword [esp + 0x78]
cmp ecx, 6
je 0x4640c5
cmp ecx, 0x12
je 0x4640c5
cmp ecx, 7
je 0x464078
cmp ecx, 0x13
jne 0x4640f3
cmp dword [esp + 0x80], 0x5c
lea ecx, [esp + 0x48]
jne 0x464091
call fcn.0042b8bb
mov al, byte [esp + 0x13]
jmp 0x4640f5
mov eax, 0x4ec920
push eax
call fcn.0042f03b
test al, al
je 0x46408b
lea ecx, [esp + 0x48]
call fcn.0042b8bb
lea ecx, [esp + 0x48]
call fcn.0042b8bb
push 0
lea ecx, [esp + 0x4c]
call fcn.0042b947
mov al, 1
mov byte [esp + 0x13], al
jmp 0x4640f5
cmp dword [esp + 0x80], 0x5c
lea ecx, [esp + 0x48]
je 0x464086
push 0x4f0ff4
jmp 0x464097
mov ecx, dword [esp + 0x80]
cmp ecx, 0xd
je 0x463fd8
cmp ecx, esi
jne 0x4640f5
jmp 0x463fd8
mov al, dl
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x14]
cmp ecx, 0x11
je 0x464115
cmp ecx, 0x10
je 0x464115
cmp ecx, 0x12
je 0x464115
cmp ecx, 0x13
jne 0x46419d
cmp dword [esp + 0x80], 0x7b
mov dword [esp + 0x14], esi
mov byte [esp + 0x13], al
jne 0x46419d
cmp dword [esp + 0x88], 0x7b
jne 0x46413c
lea ecx, [esp + 0x48]
call fcn.0042b8bb
jmp 0x464194
and dword [esp + 0xa4], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa0], eax
cmp ecx, dword [esp + 0x30]
je 0x464168
mov dword [ecx], eax
and dword [ecx + 4], 0
add ecx, 8
mov dword [esp + 0x2c], ecx
jmp 0x46417e
lea eax, [esp + 0xa0]
push eax
push ecx
lea ecx, [esp + 0x30]
call fcn.00465026
mov ecx, dword [esp + 0x2c]
lea eax, [ecx - 8]
mov dword [esp + 0x1c], ecx
push 0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x44], eax
call fcn.0042b947
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
cmp eax, edx
je 0x46429d
mov ecx, dword [esp + 0x80]
cmp ecx, 0x27
je 0x4641c2
cmp ecx, 0x22
jne 0x46429d
mov ebx, edx
or esi, 0xffffffff
sub ebx, eax
xor edi, edi
sar ebx, 3
test ebx, ebx
je 0x464299
cmp esi, 0xffffffff
jne 0x46422f
mov ecx, dword [eax + edi*8]
call fcn.0046306b
movsx edx, al
mov byte [esp + 0x3b], al
cmp dword [esp + 0x80], edx
jne 0x464221
call fcn.00463037
test al, al
je 0x464200
mov esi, edi
jmp 0x464221
cmp byte [esp + 0x3b], 0x22
mov ecx, 0x4ec920
mov eax, 0x4f0ff4
cmove eax, ecx
lea ecx, [esp + 0x48]
push eax
call fcn.0042f03b
test al, al
cmovne esi, edi
mov eax, dword [esp + 0x28]
inc edi
cmp edi, ebx
jb 0x4641d6
cmp esi, 0xffffffff
je 0x464299
push dword [eax + esi*8]
lea ecx, [esp + 0x4c]
call fcn.0042b91d
mov edi, dword [esp + 0x28]
mov ecx, dword [edi + esi*8]
call fcn.00463051
test al, al
je 0x46425d
lea ecx, [esp + 0x48]
call fcn.0042b8bb
lea ecx, [esp + 0x48]
call fcn.0042b8bb
push 0
lea ecx, [esp + 0x4c]
call fcn.0042b947
mov byte [esp + 0x13], 1
cmp ebx, esi
jbe 0x464293
lea edx, [esp + 0x40]
lea ecx, [esp + 0x28]
call fcn.0046309f
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
sub eax, edi
sar eax, 3
cmp eax, esi
ja 0x464271
mov ebx, dword [esp + 0x20]
jmp 0x4642a1
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
cmp byte [esp + 0x34], 0
jne 0x4642fa
mov ecx, dword [esp + 0x80]
cmp ecx, 0x20
je 0x4642fa
cmp ecx, 9
je 0x4642fa
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0x64]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [esp + 0x24]
sub esi, edx
mov eax, dword [esp + 0xc0]
push esi
push 1
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov byte [esp + 0x34], 1
mov dword [esp + 0x14], eax
jmp 0x4642fe
mov eax, dword [esp + 0x14]
cmp eax, 4
je 0x464308
cmp eax, 6
jne 0x464315
xor ecx, ecx
cmp byte [esp + 0x75], cl
cmovne eax, ecx
mov dword [esp + 0x14], eax
cmp byte [esp + 0x13], 0
je 0x464378
cmp byte [esp + 0x75], 0
je 0x464378
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x1b]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.004637b7
push 0x462f8b
lea eax, [esp + 0x40]
inc ebx
push eax
push ebx
lea ecx, [esp + 0xcc]
mov dword [esp + 0x2c], ebx
call fcn.0042a9e7
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x50]
jae 0x464644
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], esi
jmp 0x46437c
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
test edx, edx
je 0x464429
mov ecx, dword [esp + 0x78]
call fcn.00463037
test al, al
jne 0x464429
call fcn.00463051
test al, al
jne 0x464429
mov eax, dword [edx + 4]
test eax, eax
jne 0x4643fd
mov ecx, dword [esp + 0x80]
cmp ecx, 0x7d
je 0x4643cd
cmp ecx, 0x3a
je 0x4643cd
cmp ecx, 0x21
jne 0x4643fd
cmp dword [esp + 0x88], 0x3d
je 0x464429
xor ecx, ecx
cmp edi, esi
je 0x4643eb
lea eax, [esi - 8]
mov ecx, dword [eax]
mov esi, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], esi
cmp edi, esi
je 0x4643eb
lea eax, [esi - 8]
jmp 0x4643ed
xor eax, eax
push ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x44], eax
call fcn.0042b91d
jmp 0x464429
mov ecx, dword [esp + 0x80]
cmp ecx, 0x7b
je 0x464425
cmp ecx, 0x5b
je 0x464425
cmp ecx, 0x28
je 0x464425
cmp ecx, 0x7d
je 0x464422
cmp ecx, 0x5d
je 0x464422
cmp ecx, 0x29
jne 0x464429
dec eax
jmp 0x464426
inc eax
mov dword [edx + 4], eax
cmp dword [esp + 0x78], 0
jne 0x46462a
mov ecx, dword [esp + 0x80]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x4644ab
cmp ecx, 0x30
jne 0x4644c4
mov eax, dword [esp + 0x88]
cmp eax, 0x78
je 0x46449f
cmp eax, 0x58
je 0x46449f
cmp eax, 0x6f
je 0x46446d
cmp eax, 0x4f
je 0x46446d
cmp eax, 0x62
je 0x46446d
cmp eax, 0x42
jne 0x4644c4
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x48]
push 2
cmp byte [eax + 0x828], 0
je 0x46448a
mov byte [esp + 0x1e], 1
jmp 0x464625
call fcn.0042b91d
push 0xb
lea ecx, [esp + 0x4c]
call fcn.0042b947
jmp 0x46462a
mov byte [esp + 0x1a], 1
push 2
jmp 0x464621
cmp dword [esp + 0x80], 0x2e
jne 0x4644cb
mov eax, dword [esp + 0x88]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4644cb
mov byte [esp + 0x1a], 0
jmp 0x4644a4
mov ecx, dword [esp + 0x80]
cmp ecx, 0x7f
ja 0x4644e3
movsx ecx, cl
call fcn.0042d082
test al, al
jne 0x4644ed
cmp dword [esp + 0x80], 0x60
jne 0x4644f3
push 0xa
pop esi
push esi
jmp 0x46456a
cmp dword [esp + 0x80], 0x23
jne 0x464514
xor eax, eax
inc eax
cmp dword [esp + 0x88], 0x23
push 0xc
pop ecx
cmove eax, ecx
push eax
jmp 0x464621
cmp dword [esp + 0x80], 0x40
jne 0x46457c
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x64]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov ecx, dword [esp + 0xc0]
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x18]
mov esi, eax
jmp 0x464558
push esi
lea ecx, [esp + 0xc4]
call fcn.0042a9b7
cmp al, 0x20
je 0x464557
cmp al, 9
jne 0x464578
inc esi
cmp esi, edi
jl 0x464542
mov cl, 1
push 0xf
pop eax
push 0xa
test cl, cl
pop esi
cmove eax, esi
push eax
lea ecx, [esp + 0x4c]
call fcn.0042b91d
jmp 0x46462d
xor cl, cl
jmp 0x46455e
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
add eax, 2
push 0
push eax
call fcn.0042b5d3
mov edi, dword [esp + 0x9c]
mov esi, dword [esp + 0x80]
mov ecx, esi
mov edx, dword [esp + 0x88]
movzx eax, al
push edi
push eax
call fcn.00462fde
add esp, 8
test al, al
je 0x464607
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x94]
and dword [esp + 0x94], 0
lea ecx, [esp + 0xc0]
push edi
push eax
call fcn.004630c9
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.0042b91d
jmp 0x4645f5
cmp ecx, dword [esp + 0x50]
jae 0x46462a
lea ecx, [esp + 0x48]
call fcn.0042b8bb
mov ecx, dword [esp + 0x64]
lea eax, [ecx + 1]
cmp dword [esp + 0x94], eax
ja 0x4645e6
jmp 0x46462a
cmp esi, 0x80
jge 0x46462a
push esi
call fcn.004979d0
pop ecx
test eax, eax
jne 0x46461f
cmp esi, 0x5f
jne 0x46462a
push 0xb
lea ecx, [esp + 0x4c]
call fcn.0042b91d
push 0xa
pop esi
lea ecx, [esp + 0x48]
call fcn.0042b8bb
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x50]
jb 0x463c01
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0x64]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [esp + 0x24]
sub esi, edx
mov eax, dword [esp + 0xc0]
push esi
push 0
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
lea ecx, [esp + 0x48]
call fcn.0042b897
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x464691
mov eax, dword [esp + 0x30]
sub eax, ecx
and eax, 0xfffffff8
push eax
push ecx
call fcn.0042a270
pop ecx
pop ecx
mov ecx, dword [esp + 0x209c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00486c63
mov esp, ebp
pop ebp
ret 0x14