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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x110
mov edi, dword [esp + 0x130]
mov dword [esp + 0x2c], 0
mov byte [esp + 0x18], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
lea esi, [esp + 0x34]
push esi
lea eax, [esp + 0x34]
push eax
call fcn.00465c90
pop ecx
pop ecx
mov dword [esp + 0x3c], 0
fld qword [esp + 0x128]
fcomp qword [0x4c9e10]
fnstsw ax
test ah, 0x45
jne 0x466110
mov eax, dword [edi]
mov dword [esp + 0x48], eax
test eax, eax
je 0x4660c4
mov ecx, eax
call fcn.0040b9a0
lea eax, [esp + 0x48]
push eax
push 1
lea eax, [esp + 0x54]
push eax
call fcn.00465e30
add esp, 0xc
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x40]
call fcn.0040bbd0
cmp dword [esp + 0x4c], 0
je 0x4660f6
mov ecx, dword [esp + 0x4c]
call fcn.0040b9e0
cmp dword [esp + 0x48], 0
je 0x4661ca
mov ecx, dword [esp + 0x48]
jmp 0x4661c5
fld qword [esp + 0x128]
fcomp qword [0x4c9e10]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x466177
mov eax, dword [edi]
mov dword [esp + 0x50], eax
test eax, eax
je 0x466138
mov ecx, eax
call fcn.0040b9a0
lea eax, [esp + 0x50]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x5c]
push eax
call fcn.00465e30
add esp, 0xc
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x40]
call fcn.0040bbd0
cmp dword [esp + 0x54], 0
je 0x46616a
mov ecx, dword [esp + 0x54]
call fcn.0040b9e0
cmp dword [esp + 0x50], 0
je 0x4661ca
mov ecx, dword [esp + 0x50]
jmp 0x4661c5
mov eax, dword [edi]
mov dword [esp + 0x58], eax
test eax, eax
je 0x466188
mov ecx, eax
call fcn.0040b9a0
lea eax, [esp + 0x58]
push eax
push 0
lea eax, [esp + 0x64]
push eax
call fcn.00465e30
add esp, 0xc
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x40]
call fcn.0040bbd0
cmp dword [esp + 0x5c], 0
je 0x4661ba
mov ecx, dword [esp + 0x5c]
call fcn.0040b9e0
cmp dword [esp + 0x58], 0
je 0x4661ca
mov ecx, dword [esp + 0x58]
call fcn.0040b9e0
fld qword [esp + 0x128]
fcomp qword [0x4c9e10]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4661f6
mov byte [esp + 0x18], 1
fld qword [esp + 0x128]
fchs
fstp qword [esp + 0x128]
xor ebx, ebx
mov dword [esp + 0xc], ebx
xor dl, dl
xor cl, cl
mov byte [esp + 0x10], 0
mov byte [esp + 0x14], 0
xor eax, eax
jmp 0x466340
cmp dword [esp + 0x3c], 0
je 0x466224
mov esi, eax
inc esi
mov edi, dword [esp + 0x3c]
add esi, dword [edi + 4]
jmp 0x466229
mov esi, 0x4be004
cmp byte [esi], 0x5c
jne 0x466234
inc eax
jmp 0x46633f
cmp dword [esp + 0x3c], 0
je 0x466247
mov edi, eax
inc edi
mov ebp, dword [esp + 0x3c]
add edi, dword [ebp + 4]
jmp 0x46624c
mov edi, 0x4be004
cmp byte [edi], 0x23
je 0x46626e
cmp dword [esp + 0x3c], 0
je 0x466264
mov edi, eax
inc edi
mov esi, dword [esp + 0x3c]
add edi, dword [esi + 4]
jmp 0x466269
mov edi, 0x4be004
cmp byte [edi], 0x30
jne 0x466290
cmp byte [esp + 0x14], 0
jne 0x466290
test dl, dl
je 0x466280
inc ebx
jmp 0x46633f
inc dword [esp + 0xc]
jmp 0x46633f
cmp dword [esp + 0x3c], 0
je 0x4662a3
mov esi, eax
inc esi
mov edi, dword [esp + 0x3c]
add esi, dword [edi + 4]
jmp 0x4662a8
mov esi, 0x4be004
cmp byte [esi], 0x2e
jne 0x4662b4
mov dl, 1
jmp 0x46633f
cmp dword [esp + 0x3c], 0
je 0x4662c7
mov edi, eax
inc edi
mov ebp, dword [esp + 0x3c]
add edi, dword [ebp + 4]
jmp 0x4662cc
mov edi, 0x4be004
cmp byte [edi], 0x25
jne 0x4662d5
mov cl, 1
jmp 0x46633f
cmp dword [esp + 0x3c], 0
je 0x4662e8
mov edi, eax
inc edi
mov esi, dword [esp + 0x3c]
add edi, dword [esi + 4]
jmp 0x4662ed
mov edi, 0x4be004
cmp byte [edi], 0x2c
jne 0x466300
mov byte [esp + 0x10], 1
jmp 0x46633f
cmp dword [esp + 0x3c], 0
je 0x466313
mov esi, eax
inc esi
mov edi, dword [esp + 0x3c]
add esi, dword [edi + 4]
jmp 0x466318
mov esi, 0x4be004
cmp byte [esi], 0x65
je 0x46633a
cmp dword [esp + 0x3c], 0
je 0x466330
mov edi, eax
inc edi
mov ebp, dword [esp + 0x3c]
add edi, dword [ebp + 4]
jmp 0x466335
mov edi, 0x4be004
cmp byte [edi], 0x45
jne 0x46633f
mov byte [esp + 0x14], 1
inc eax
cmp dword [esp + 0x3c], 0
je 0x466350
mov esi, dword [esp + 0x3c]
mov ebp, dword [esi + 0xc]
jmp 0x466352
xor ebp, ebp
cmp eax, ebp
jl 0x466211
test cl, cl
je 0x466372
fld qword [0x4c9e20]
fmul qword [esp + 0x128]
fstp qword [esp + 0x128]
mov dword [esp + 0x40], 0
cmp byte [esp + 0x14], 0
je 0x4663c0
mov eax, ebx
inc eax
push eax
push 0
push dword [esp + 0x134]
push dword [esp + 0x134]
lea eax, [esp + 0x70]
push eax
call fcn.00465ae0
add esp, 0x14
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x44]
call fcn.0040bbd0
cmp dword [esp + 0x60], 0
je 0x466432
mov ecx, dword [esp + 0x60]
jmp 0x46642d
push ebx
push 1
push dword [esp + 0x134]
push dword [esp + 0x134]
lea eax, [esp + 0x74]
push eax
call fcn.00465ae0
add esp, 0x14
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x44]
call fcn.0040bbd0
cmp dword [esp + 0x64], 0
je 0x466432
mov ecx, dword [esp + 0x64]
jmp 0x46642d
push 1
lea edi, [esp + 0x44]
push edi
lea eax, [esp + 0x70]
push eax
call fcn.0040bfb0
add esp, 0xc
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x44]
call fcn.0040bbd0
cmp dword [esp + 0x68], 0
je 0x466432
mov ecx, dword [esp + 0x68]
call fcn.0040b9e0
cmp dword [esp + 0x40], 0
je 0x466442
mov eax, dword [esp + 0x40]
mov esi, dword [eax + 0xc]
jmp 0x466444
xor esi, esi
test esi, esi
jle 0x46646a
cmp dword [esp + 0x40], 0
je 0x466460
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
inc eax
jmp 0x466465
mov eax, 0x4be004
cmp byte [eax], 0x20
je 0x466400
mov eax, dword [esp + 0x40]
mov dword [esp + 0x6c], eax
test eax, eax
je 0x46647d
mov ecx, eax
call fcn.0040b9a0
push 0x65
lea eax, [esp + 0x70]
push eax
push 0
call fcn.00465a60
add esp, 0xc
mov dword [esp + 4], eax
cmp dword [esp + 0x6c], 0
je 0x4664a2
mov ecx, dword [esp + 0x6c]
call fcn.0040b9e0
test ebx, ebx
je 0x466681
cmp byte [esp + 0x14], 0
je 0x466629
cmp dword [esp + 4], 0
jl 0x466629
jmp 0x466575
mov eax, dword [esp + 0x40]
mov dword [esp + 0x70], eax
test eax, eax
je 0x4664d8
mov ecx, eax
call fcn.0040b9a0
mov eax, dword [esp + 4]
dec eax
push eax
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.0040bed0
add esp, 0xc
push dword [esp + 4]
lea ecx, [esp + 0x44]
push ecx
lea eax, [esp + 0x80]
push eax
call fcn.0040bfb0
add esp, 0xc
lea eax, [esp + 0x78]
push eax
lea ebp, [esp + 0x78]
push ebp
lea eax, [esp + 0x84]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x44]
call fcn.0040bbd0
cmp dword [esp + 0x7c], 0
je 0x466541
mov ecx, dword [esp + 0x7c]
call fcn.0040b9e0
cmp dword [esp + 0x78], 0
je 0x466551
mov ecx, dword [esp + 0x78]
call fcn.0040b9e0
cmp dword [esp + 0x74], 0
je 0x466561
mov ecx, dword [esp + 0x74]
call fcn.0040b9e0
cmp dword [esp + 0x70], 0
je 0x466571
mov ecx, dword [esp + 0x70]
call fcn.0040b9e0
dec dword [esp + 4]
cmp dword [esp + 4], 0
jle 0x466681
cmp dword [esp + 0x40], 0
je 0x466594
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
add eax, dword [esp + 4]
jmp 0x466599
mov eax, 0x4be004
cmp byte [eax], 0x30
je 0x4664c5
jmp 0x466681
mov eax, dword [esp + 0x40]
mov dword [esp + 0x80], eax
test eax, eax
je 0x4665bd
mov ecx, eax
call fcn.0040b9a0
cmp dword [esp + 0x40], 0
je 0x4665d0
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0xc]
jmp 0x4665d2
xor eax, eax
dec eax
push eax
lea esi, [esp + 0x84]
push esi
lea eax, [esp + 0x8c]
push eax
call fcn.0040bed0
add esp, 0xc
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x44]
call fcn.0040bbd0
cmp dword [esp + 0x84], 0
je 0x466613
mov ecx, dword [esp + 0x84]
call fcn.0040b9e0
cmp dword [esp + 0x80], 0
je 0x466629
mov ecx, dword [esp + 0x80]
call fcn.0040b9e0
push 1
lea edi, [esp + 0x44]
push edi
lea eax, [esp + 0x90]
push eax
call fcn.0040c210
add esp, 0xc
push 0x4c9e7f
lea ecx, [esp + 0x8c]
call fcn.0040bbb0
push eax
call fcn.0040ca90
pop ecx
pop ecx
test eax, eax
jne 0x466661
mov bl, 1
jmp 0x466663
xor bl, bl
cmp dword [esp + 0x88], 0
je 0x466679
mov ecx, dword [esp + 0x88]
call fcn.0040b9e0
test bl, bl
jne 0x4665a7
cmp dword [esp + 4], 0xffffffff
jne 0x4666ad
cmp dword [esp + 0x40], 0
je 0x4666a0
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0xc]
mov dword [esp + 4], eax
jmp 0x4666a8
mov dword [esp + 4], 0
mov byte [esp + 0x14], 0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x8c], eax
test eax, eax
je 0x4666c3
mov ecx, eax
call fcn.0040b9a0
push 0x2e
lea eax, [esp + 0x90]
push eax
push 0
call fcn.00465a60
add esp, 0xc
mov ebp, eax
cmp dword [esp + 0x8c], 0
je 0x4666ef
mov ecx, dword [esp + 0x8c]
call fcn.0040b9e0
cmp ebp, 0xffffffff
jne 0x466713
cmp dword [esp + 4], 0
jl 0x466701
mov ebp, dword [esp + 4]
jmp 0x466713
cmp dword [esp + 0x40], 0
je 0x466711
mov eax, dword [esp + 0x40]
mov ebp, dword [eax + 0xc]
jmp 0x466713
xor ebp, ebp
mov dword [esp + 0x44], 0
push 0x4c9e67
call fcn.0040ca30
pop ecx
push eax
push 0x4c9e67
lea ecx, [esp + 0x4c]
call fcn.0040bb00
cmp dword [esp + 0x44], 0
je 0x466748
mov ebx, dword [esp + 0x44]
mov eax, dword [0x4bf2dc]
mov dword [ebx + 0x10], eax
mov dword [esp + 8], 0
mov byte [esp + 0x28], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x20], 0
mov dword [esp], 0
mov dword [esp + 0x24], ebp
mov eax, ebp
sub eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
inc dword [esp + 0x24]
jmp 0x46728d
cmp dword [esp + 0x3c], 0
je 0x466794
mov edi, dword [esp]
inc edi
mov eax, dword [esp + 0x3c]
add edi, dword [eax + 4]
jmp 0x466799
mov edi, 0x4be004
mov bl, byte [edi]
cmp bl, 0x5c
jne 0x466804
inc dword [esp]
cmp dword [esp + 0x3c], 0
je 0x4667b7
mov edx, dword [esp]
inc edx
mov eax, dword [esp + 0x3c]
add edx, dword [eax + 4]
jmp 0x4667bc
mov edx, 0x4be004
mov al, byte [edx]
push eax
lea ecx, [esp + 0x48]
push ecx
lea eax, [esp + 0x98]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0x90], 0
je 0x46728a
mov ecx, dword [esp + 0x90]
call fcn.0040b9e0
jmp 0x46728a
cmp bl, 0x23
je 0x466812
cmp bl, 0x30
jne 0x466c77
mov dword [esp + 0x94], 0
push 0x4c9e67
call fcn.0040ca30
pop ecx
push eax
push 0x4c9e67
lea ecx, [esp + 0x9c]
call fcn.0040bb00
cmp dword [esp + 0x94], 0
je 0x466853
mov esi, dword [esp + 0x94]
mov eax, dword [0x4bf2dc]
mov dword [esi + 0x10], eax
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x3c]
call fcn.0040bbd0
cmp dword [esp + 0x94], 0
je 0x46687a
mov ecx, dword [esp + 0x94]
call fcn.0040b9e0
cmp byte [esp + 0x28], 0
je 0x466890
mov esi, ebp
add esi, dword [esp + 8]
inc esi
jmp 0x466b45
cmp dword [esp + 8], 0
jne 0x466b00
cmp ebp, dword [esp + 0xc]
jle 0x466b00
cmp byte [esp + 0x10], 0
je 0x466a55
mov eax, dword [esp + 0x40]
mov dword [esp + 0x98], eax
test eax, eax
je 0x4668c6
mov ecx, eax
call fcn.0040b9a0
push dword [esp + 0x24]
lea edi, [esp + 0x9c]
push edi
lea eax, [esp + 0xa4]
push eax
call fcn.0040bed0
add esp, 0xc
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x30]
call fcn.0040bbd0
cmp dword [esp + 0x9c], 0
je 0x466909
mov ecx, dword [esp + 0x9c]
call fcn.0040b9e0
cmp dword [esp + 0x98], 0
je 0x46691f
mov ecx, dword [esp + 0x98]
call fcn.0040b9e0
cmp dword [esp + 0x2c], 0
je 0x466930
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 4]
inc edi
jmp 0x466935
mov edi, 0x4be004
mov al, byte [edi]
push eax
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0xa8]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xa0], 0
je 0x466974
mov ecx, dword [esp + 0xa0]
call fcn.0040b9e0
mov ebx, 1
jmp 0x466a36
mov ecx, ebp
sub ecx, ebx
mov edx, ecx
mov eax, 0x55555556
mov esi, edx
imul edx
shr esi, 0x1f
add esi, edx
imul esi, esi, 3
sub ecx, esi
test ecx, ecx
jne 0x4669de
lea eax, [esp + 0x30]
push eax
lea edi, [esp + 0x48]
push edi
lea eax, [esp + 0xac]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xa4], 0
je 0x4669de
mov ecx, dword [esp + 0xa4]
call fcn.0040b9e0
cmp dword [esp + 0x2c], 0
je 0x4669f1
mov edx, ebx
inc edx
mov eax, dword [esp + 0x2c]
add edx, dword [eax + 4]
jmp 0x4669f6
mov edx, 0x4be004
mov al, byte [edx]
push eax
lea ecx, [esp + 0x48]
push ecx
lea eax, [esp + 0xb0]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xa8], 0
je 0x466a35
mov ecx, dword [esp + 0xa8]
call fcn.0040b9e0
inc ebx
cmp dword [esp + 0x2c], 0
je 0x466a46
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0xc]
jmp 0x466a48
xor edi, edi
cmp ebx, edi
jl 0x466980
jmp 0x466af7
mov eax, dword [esp + 0x40]
mov dword [esp + 0xac], eax
test eax, eax
je 0x466a6b
mov ecx, eax
call fcn.0040b9a0
push dword [esp + 0x24]
lea edx, [esp + 0xb0]
push edx
lea eax, [esp + 0xb8]
push eax
call fcn.0040bed0
add esp, 0xc
lea eax, [esp + 0xb0]
push eax
lea esi, [esp + 0x48]
push esi
lea eax, [esp + 0xbc]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xb4], 0
je 0x466acb
mov ecx, dword [esp + 0xb4]
call fcn.0040b9e0
cmp dword [esp + 0xb0], 0
je 0x466ae1
mov ecx, dword [esp + 0xb0]
call fcn.0040b9e0
cmp dword [esp + 0xac], 0
je 0x466af7
mov ecx, dword [esp + 0xac]
call fcn.0040b9e0
inc dword [esp + 8]
jmp 0x46728a
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 8]
mov esi, ebp
sub esi, eax
cmp byte [esp + 0x10], 0
je 0x466b45
cmp byte [esp + 0x1c], 0
je 0x466b45
mov edi, ebp
sub edi, esi
mov edx, edi
mov eax, 0x55555556
mov ecx, edx
imul edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 3
sub edi, ecx
test edi, edi
jne 0x466b45
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x3c]
call fcn.0040bbd0
cmp byte [esp + 0x20], 0
jne 0x466c6e
test esi, esi
jl 0x466bf3
cmp esi, dword [esp + 4]
jge 0x466bf3
lea eax, [esp + 0x38]
push eax
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0xc0]
push eax
call fcn.0040c300
add esp, 0xc
cmp dword [esp + 0x40], 0
je 0x466b90
inc esi
mov eax, dword [esp + 0x40]
add esi, dword [eax + 4]
jmp 0x466b95
mov esi, 0x4be004
mov al, byte [esi]
push eax
lea ebx, [esp + 0xbc]
push ebx
lea eax, [esp + 0xc4]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xbc], 0
je 0x466bd7
mov ecx, dword [esp + 0xbc]
call fcn.0040b9e0
cmp dword [esp + 0xb8], 0
je 0x466c69
mov ecx, dword [esp + 0xb8]
call fcn.0040b9e0
jmp 0x466c69
cmp bl, 0x30
jne 0x466c6e
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x48]
push ecx
lea eax, [esp + 0xc8]
push eax
call fcn.0040c300
add esp, 0xc
push 0x30
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0xcc]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xc4], 0
je 0x466c53
mov ecx, dword [esp + 0xc4]
call fcn.0040b9e0
cmp dword [esp + 0xc0], 0
je 0x466c69
mov ecx, dword [esp + 0xc0]
call fcn.0040b9e0
mov byte [esp + 0x1c], 1
inc dword [esp + 8]
jmp 0x46728a
cmp bl, 0x2e
jne 0x466ce0
cmp byte [esp + 0x28], 0
jne 0x46728a
lea eax, [esp + 0x34]
push eax
lea ebx, [esp + 0x48]
push ebx
lea eax, [esp + 0xd0]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xc8], 0
je 0x466cc8
mov ecx, dword [esp + 0xc8]
call fcn.0040b9e0
mov byte [esp + 0x28], 1
mov dword [esp + 8], 0
jmp 0x46728a
cmp bl, 0x2b
jne 0x466d96
cmp byte [esp + 0x18], 0
je 0x466d37
push 0x2d
lea ecx, [esp + 0x48]
push ecx
lea eax, [esp + 0xd4]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xcc], 0
je 0x46728a
mov ecx, dword [esp + 0xcc]
call fcn.0040b9e0
jmp 0x46728a
fld qword [esp + 0x128]
fcomp qword [0x4c9e10]
fnstsw ax
test ah, 0x45
jne 0x46728a
push 0x2b
lea esi, [esp + 0x48]
push esi
lea eax, [esp + 0xd8]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xd0], 0
je 0x46728a
mov ecx, dword [esp + 0xd0]
call fcn.0040b9e0
jmp 0x46728a
cmp bl, 0x2d
jne 0x466df0
cmp byte [esp + 0x18], 0
je 0x46728a
push 0x2d
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0xdc]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xd4], 0
je 0x46728a
mov ecx, dword [esp + 0xd4]
call fcn.0040b9e0
jmp 0x46728a
cmp bl, 0x25
je 0x466dff
cmp bl, 0x28
je 0x466dff
cmp bl, 0x29
jne 0x466e45
push ebx
lea ecx, [esp + 0x48]
push ecx
lea eax, [esp + 0xe0]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xd8], 0
je 0x46728a
mov ecx, dword [esp + 0xd8]
call fcn.0040b9e0
jmp 0x46728a
cmp bl, 0x45
je 0x466e53
cmp bl, 0x65
jne 0x46728a
cmp dword [esp + 4], 0
jl 0x46728a
cmp byte [esp + 0x14], 0
je 0x46728a
mov al, bl
push eax
lea esi, [esp + 0x48]
push esi
lea eax, [esp + 0xe4]
push eax
call fcn.0040c430
add esp, 0xc
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xdc], 0
je 0x466ea8
mov ecx, dword [esp + 0xdc]
call fcn.0040b9e0
cmp dword [esp + 0x3c], 0
je 0x466eb8
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax + 0xc]
jmp 0x466eba
xor ebx, ebx
mov eax, dword [esp]
inc eax
cmp eax, ebx
jl 0x466f40
mov eax, dword [esp + 4]
inc eax
push eax
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0xe8]
push eax
call fcn.0040bfb0
add esp, 0xc
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x48]
push ecx
lea eax, [esp + 0xec]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xe4], 0
je 0x466f21
mov ecx, dword [esp + 0xe4]
call fcn.0040b9e0
cmp dword [esp + 0xe0], 0
je 0x467285
mov ecx, dword [esp + 0xe0]
jmp 0x467280
cmp dword [esp + 0x3c], 0
je 0x466f56
mov edi, dword [esp]
add edi, 2
mov eax, dword [esp + 0x3c]
add edi, dword [eax + 4]
jmp 0x466f5b
mov edi, 0x4be004
cmp byte [edi], 0x2b
jne 0x4670d0
cmp dword [esp + 0x40], 0
je 0x466f80
mov ebx, dword [esp + 4]
add ebx, 2
mov eax, dword [esp + 0x40]
add ebx, dword [eax + 4]
jmp 0x466f85
mov ebx, 0x4be004
cmp byte [ebx], 0x2b
je 0x46704e
cmp dword [esp + 0x40], 0
je 0x466fa5
mov ecx, dword [esp + 4]
add ecx, 2
mov eax, dword [esp + 0x40]
add ecx, dword [eax + 4]
jmp 0x466faa
mov ecx, 0x4be004
cmp byte [ecx], 0x2d
je 0x46704e
mov dword [esp + 0xe8], 0
push 0x4c9e81
call fcn.0040ca30
pop ecx
push eax
push 0x4c9e81
lea ecx, [esp + 0xf0]
call fcn.0040bb00
cmp dword [esp + 0xe8], 0
je 0x466ff4
mov esi, dword [esp + 0xe8]
mov eax, dword [0x4bf2dc]
mov dword [esi + 0x10], eax
lea eax, [esp + 0xe8]
push eax
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0xf4]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xec], 0
je 0x467038
mov ecx, dword [esp + 0xec]
call fcn.0040b9e0
cmp dword [esp + 0xe8], 0
je 0x46704e
mov ecx, dword [esp + 0xe8]
call fcn.0040b9e0
mov eax, dword [esp + 4]
inc eax
push eax
lea ecx, [esp + 0x44]
push ecx
lea eax, [esp + 0xf8]
push eax
call fcn.0040bfb0
add esp, 0xc
lea eax, [esp + 0xf0]
push eax
lea ebx, [esp + 0x48]
push ebx
lea eax, [esp + 0xfc]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xf4], 0
je 0x4670ad
mov ecx, dword [esp + 0xf4]
call fcn.0040b9e0
cmp dword [esp + 0xf0], 0
je 0x4670c3
mov ecx, dword [esp + 0xf0]
call fcn.0040b9e0
inc dword [esp]
jmp 0x467285
cmp dword [esp + 0x3c], 0
je 0x4670e6
mov edi, dword [esp]
add edi, 2
mov eax, dword [esp + 0x3c]
add edi, dword [eax + 4]
jmp 0x4670eb
mov edi, 0x4be004
cmp byte [edi], 0x2d
jne 0x467210
cmp dword [esp + 0x40], 0
je 0x467110
mov ebx, dword [esp + 4]
add ebx, 2
mov eax, dword [esp + 0x40]
add ebx, dword [eax + 4]
jmp 0x467115
mov ebx, 0x4be004
cmp byte [ebx], 0x2b
jne 0x467192
mov eax, dword [esp + 4]
add eax, 2
push eax
lea esi, [esp + 0x44]
push esi
lea eax, [esp + 0x100]
push eax
call fcn.0040bfb0
add esp, 0xc
lea eax, [esp + 0xf8]
push eax
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x104]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0xfc]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0xfc], 0
je 0x46717b
mov ecx, dword [esp + 0xfc]
call fcn.0040b9e0
cmp dword [esp + 0xf8], 0
je 0x467207
mov ecx, dword [esp + 0xf8]
jmp 0x467202
mov eax, dword [esp + 4]
inc eax
push eax
lea ecx, [esp + 0x44]
push ecx
lea eax, [esp + 0x108]
push eax
call fcn.0040bfb0
add esp, 0xc
lea eax, [esp + 0x100]
push eax
lea ebx, [esp + 0x48]
push ebx
lea eax, [esp + 0x10c]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0x104], 0
je 0x4671f1
mov ecx, dword [esp + 0x104]
call fcn.0040b9e0
cmp dword [esp + 0x100], 0
je 0x467207
mov ecx, dword [esp + 0x100]
call fcn.0040b9e0
inc dword [esp]
jmp 0x467285
mov eax, dword [esp + 4]
inc eax
push eax
lea esi, [esp + 0x44]
push esi
lea eax, [esp + 0x110]
push eax
call fcn.0040bfb0
add esp, 0xc
lea eax, [esp + 0x108]
push eax
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x114]
push eax
call fcn.0040c300
add esp, 0xc
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x48]
call fcn.0040bbd0
cmp dword [esp + 0x10c], 0
je 0x46726f
mov ecx, dword [esp + 0x10c]
call fcn.0040b9e0
cmp dword [esp + 0x108], 0
je 0x467285
mov ecx, dword [esp + 0x108]
call fcn.0040b9e0
mov byte [esp + 0x20], 1
inc dword [esp]
cmp dword [esp + 0x3c], 0
je 0x4672a0
mov eax, dword [esp + 0x3c]
mov edi, dword [eax + 0xc]
jmp 0x4672a2
xor edi, edi
cmp dword [esp], edi
jl 0x466780
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x124]
mov dword [eax], ecx
mov eax, dword [esp + 0x124]
mov ecx, dword [eax]
test ecx, ecx
je 0x4672ca
call fcn.0040b9a0
cmp dword [esp + 0x44], 0
je 0x4672da
mov ecx, dword [esp + 0x44]
call fcn.0040b9e0
cmp dword [esp + 0x40], 0
je 0x4672ea
mov ecx, dword [esp + 0x40]
call fcn.0040b9e0
cmp dword [esp + 0x3c], 0
je 0x4672fa
mov ecx, dword [esp + 0x3c]
call fcn.0040b9e0
cmp dword [esp + 0x38], 0
je 0x46730a
mov ecx, dword [esp + 0x38]
call fcn.0040b9e0
cmp dword [esp + 0x34], 0
je 0x46731a
mov ecx, dword [esp + 0x34]
call fcn.0040b9e0
cmp dword [esp + 0x30], 0
je 0x46732a
mov ecx, dword [esp + 0x30]
call fcn.0040b9e0
cmp dword [esp + 0x2c], 0
je 0x46733a
mov ecx, dword [esp + 0x2c]
call fcn.0040b9e0
mov eax, dword [esp + 0x124]
add esp, 0x110
pop ebp
pop edi
pop esi
pop ebx
ret