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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x468e71
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x484060]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov dword [esp + 0x18], ecx
mov ebx, dword [ebp + 0x10]
and dword [esp + 0x14], 0
cmp dword [ebx], 0
mov edi, dword [ebp + 8]
mov esi, 0x46f164
je 0x43dbcb
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push esi
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d49c
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x43dbf7
lea ecx, [edi + 0x38]
mov esi, ebx
call fcn.00440683
xor eax, eax
inc eax
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 1
jne 0x43dd23
cmp dword [edi + 0x34], 0
jne 0x43dc22
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push esi
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d49c
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.0044020a
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43dc6d
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x34]
mov esi, dword [eax + 0x30]
call fcn.0044020a
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43dc6d
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [esp + 0x24], esp
call fcn.0043d34f
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d49c
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], eax
mov esi, dword [edi + 0x2c]
jmp 0x43dd16
cmp dword [esi + 0x28], 3
jne 0x43dcf3
mov eax, dword [ebx]
cmp eax, 7
jne 0x43dc97
mov ecx, dword [ebx + 8]
call fcn.004407d4
cmp eax, 5
jne 0x43dcf3
mov ecx, ebx
call fcn.00440855
mov edi, dword [eax + 8]
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push dword [esi + 0x34]
push eax
call fcn.0040227e
call fcn.004404f4
mov edi, eax
test edi, edi
jne 0x43dce1
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
mov eax, ebx
call fcn.0044061a
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x43dd13
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
mov esi, dword [esi + 0x2c]
test esi, esi
jne 0x43dc82
jmp 0x43dbdc
cmp eax, 4
jne 0x43dd98
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43dd85
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x43dd55
lea eax, [esp + 0x20]
push eax
call fcn.0043a122
and dword [esp + 0xc0], 0
mov esi, dword [eax]
mov dword [esp + 0x14], 1
push esi
push dword [edi + 0x34]
push 0x478e00
push dword [esp + 0x24]
call fcn.0043f56f
or dword [esp + 0xd0], 0xffffffff
add esp, 0x10
test byte [esp + 0x14], 1
je 0x43dd85
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.004017c3
push ebx
push dword [ebp + 0xc]
push edi
push dword [esp + 0x24]
call fcn.0043ec9f
jmp 0x43dbdf
mov esi, edi
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x2c]
push 6
mov dword [esp + 0x2c], eax
pop ecx
xor eax, eax
lea edi, [esp + 0x9c]
mov dword [esp + 0x2c], edx
rep stosd dword es:[edi], eax
push 6
pop ecx
lea edi, [esp + 0x84]
mov dword [esp + 0xc0], 1
rep stosd dword es:[edi], eax
mov byte [esp + 0xc0], 2
test edx, edx
jne 0x43de28
push ecx
mov dword [esp + 0x18], esp
mov eax, esp
push 0x46f164
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.0044061a
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.0044061a
xor eax, eax
jmp 0x43dbdf
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x9c]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x34]
call fcn.0043db64
test eax, eax
je 0x43ddf9
cmp dword [esp + 0x28], 0
je 0x43de67
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x84]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x30]
call fcn.0043db64
test eax, eax
je 0x43ddf9
lea ecx, [esp + 0x9c]
call fcn.00440855
mov edi, eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x24], edi
call fcn.00440855
mov ecx, dword [esi + 0x28]
cmp ecx, 0x18
mov dword [esp + 0x1c], eax
jg 0x43e2ec
cmp ecx, 0x13
jge 0x43e165
push 2
pop eax
cmp ecx, eax
je 0x43e041
cmp ecx, 4
jle 0x43e30a
cmp ecx, 0xe
jle 0x43e65a
cmp ecx, 0x12
jg 0x43e30a
cmp dword [esp + 0x28], 0
je 0x43deee
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
push 2
pop eax
cmp dword [edi], eax
je 0x43df15
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0xf
jne 0x43df30
cmp dword [edi], eax
jne 0x43dfac
mov ecx, dword [edi + 8]
lea edx, [ecx + 1]
mov dword [edi + 8], edx
jmp 0x43dfa5
cmp ecx, 0x10
jne 0x43df41
cmp dword [edi], eax
jne 0x43dfac
mov ecx, dword [edi + 8]
lea edx, [ecx - 1]
jmp 0x43df2b
cmp ecx, 0x11
jne 0x43df58
cmp dword [edi], eax
jne 0x43dfac
inc dword [edi + 8]
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x43dfcf
cmp ecx, 0x12
jne 0x43df66
cmp dword [edi], eax
jne 0x43dfac
dec dword [edi + 8]
jmp 0x43df4d
cmp ecx, 0x15
jne 0x43df74
cmp dword [edi], eax
jne 0x43dfac
mov ecx, dword [edi + 8]
jmp 0x43dfa5
cmp ecx, 0x16
jne 0x43df84
cmp dword [edi], eax
jne 0x43dfac
mov ecx, dword [edi + 8]
neg ecx
jmp 0x43dfa5
cmp ecx, 0x17
jne 0x43df94
cmp dword [edi], eax
jne 0x43dfac
mov ecx, dword [edi + 8]
not ecx
jmp 0x43dfa5
cmp ecx, 0x18
jne 0x43dfac
cmp dword [edi], eax
jne 0x43dfac
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x43dfcf
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e32d
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call fcn.00440934
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0xc4], 0x17
call fcn.0043a122
mov byte [esp + 0xc0], 0x18
mov edi, dword [edi]
mov eax, dword [eax]
push edi
push eax
mov eax, dword [esi + 0x28]
call fcn.0043f9b2
push eax
push 0x478edc
push dword [esp + 0x28]
call fcn.0043f56f
mov eax, dword [esp + 0x80]
add esp, 0x14
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x78]
jmp 0x43ec92
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.0044020a
mov esi, eax
test esi, esi
jne 0x43e0a8
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d49c
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.0044061a
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.0044061a
mov eax, esi
jmp 0x43dbdf
cmp dword [esi], 8
je 0x43e0d0
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 0x132
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d49c
mov eax, dword [esp + 0x24]
cmp dword [eax], 2
je 0x43e0fc
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 0x12f
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d49c
cmp dword [esi], 8
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], ecx
je 0x43e110
xor esi, esi
jmp 0x43e12d
test ecx, ecx
jl 0x43e127
mov eax, dword [esi + 8]
cmp ecx, dword [eax]
jge 0x43e127
mov esi, dword [esp + 0x14]
imul esi, esi, 0x18
add esi, dword [eax + 4]
jmp 0x43e129
xor esi, esi
test esi, esi
jne 0x43e150
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push 0x46f164
push eax
call fcn.0040227e
push 0x133
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d49c
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], esi
mov dword [ebx + 0x10], eax
jmp 0x43e32d
je 0x43e16c
cmp ecx, 0x14
jne 0x43e18f
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.0040227e
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
cmp dword [esp + 0x28], 0
je 0x43e1b6
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
push 2
pop eax
cmp dword [edi], eax
je 0x43e1e0
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0x15
jne 0x43e1f1
cmp dword [edi], eax
jne 0x43e229
mov ecx, dword [edi + 8]
jmp 0x43e222
cmp ecx, 0x16
jne 0x43e201
cmp dword [edi], eax
jne 0x43e229
mov ecx, dword [edi + 8]
neg ecx
jmp 0x43e222
cmp ecx, 0x17
jne 0x43e211
cmp dword [edi], eax
jne 0x43e229
mov ecx, dword [edi + 8]
not ecx
jmp 0x43e222
cmp ecx, 0x18
jne 0x43e229
cmp dword [edi], eax
jne 0x43e229
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x43e24c
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e32d
lea eax, [esp + 0x80]
push eax
mov ecx, edi
call fcn.00440934
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0xc4], 0x19
call fcn.0043a122
mov dword [esp + 0x14], eax
lea eax, [esp + 0x64]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x1a
call fcn.00440934
mov byte [esp + 0xc0], 0x1b
mov edi, dword [edi]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
mov edx, dword [eax]
mov eax, dword [esi + 0x28]
push edi
push ecx
call fcn.0043f9b2
push eax
push edx
push 0x478f0c
push dword [esp + 0x2c]
call fcn.0043f56f
mov eax, dword [esp + 0x7c]
add esp, 0x18
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x80]
jmp 0x43ec92
cmp ecx, 0x19
jl 0x43e30a
cmp ecx, 0x1d
jle 0x43e65a
cmp ecx, 0x1e
je 0x43e335
jle 0x43e30a
cmp ecx, 0x21
jle 0x43e65a
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.0040227e
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
xor esi, esi
inc esi
jmp 0x43e079
cmp dword [esp + 0x28], 0
jne 0x43e346
push ecx
mov dword [esp + 0x34], esp
jmp 0x43ddde
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x28]
cmp eax, 1
je 0x43e35b
cmp eax, 2
jne 0x43e641
cmp dword [ecx + 0x34], 0
je 0x43e641
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
mov eax, dword [eax]
cmp ecx, eax
je 0x43e3ad
cmp ecx, 4
jne 0x43e380
cmp eax, 6
je 0x43e3ad
cmp eax, 2
je 0x43e3ad
cmp ecx, 2
jne 0x43e38a
cmp eax, 3
je 0x43e3ad
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.0040227e
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
cmp dword [edi], 5
jne 0x43e443
mov eax, dword [esp + 0x1c]
cmp dword [eax], 5
jne 0x43e443
mov eax, dword [edi + 8]
mov eax, dword [eax]
add eax, 0x28
mov eax, dword [eax]
sub eax, 0x10
call fcn.004015e7
add eax, 0x10
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xc0], 3
mov eax, dword [eax + 8]
mov eax, dword [eax]
add eax, 0x28
mov eax, dword [eax]
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.004014b1
test eax, eax
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x14]
setne byte [esp + 0x37]
add eax, 0xfffffff0
call fcn.004017c3
cmp byte [esp + 0x37], 0
je 0x43e443
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e621
mov eax, dword [0x4872ec]
mov esi, 0x4872ec
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0xc0], 4
mov eax, dword [0x4872ec]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0xc0], 5
cmp dword [eax + 0x28], 2
jne 0x43e49f
push dword [edi + 0x10]
push dword [eax + 0x34]
push str._s__d_
jmp 0x43e4b1
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x43e4c0
push dword [ecx + 0x34]
push dword [eax + 0x34]
push str._s._s
lea eax, [esp + 0x20]
push eax
call fcn.00402550
add esp, 0x10
jmp 0x43e4d5
push dword [eax + 0x34]
lea eax, [esp + 0x18]
push 0x470a0c
push eax
call fcn.00402550
add esp, 0xc
mov esi, dword [esp + 0x28]
cmp dword [esi + 0x34], 0
je 0x43e5ad
cmp dword [esi + 0x28], 2
jne 0x43e52d
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.00440934
mov byte [esp + 0xc0], 6
push dword [edi + 0x10]
mov eax, dword [eax]
push dword [esi + 0x34]
push eax
lea eax, [esp + 0x2c]
push str._s_____s__d__
push eax
call fcn.00402550
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x60]
add esp, 0x14
jmp 0x43e5e6
cmp dword [esi + 0x2c], 0
mov ecx, dword [esp + 0x1c]
je 0x43e575
lea eax, [esp + 0x38]
push eax
call fcn.00440934
mov byte [esp + 0xc0], 7
mov ecx, dword [esi + 0x2c]
push dword [ecx + 0x34]
mov eax, dword [eax]
push dword [esi + 0x34]
push eax
lea eax, [esp + 0x2c]
push str._s_____s._s_
push eax
call fcn.00402550
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x4c]
add esp, 0x14
jmp 0x43e5e6
lea eax, [esp + 0x54]
push eax
call fcn.00440934
mov byte [esp + 0xc0], 8
push dword [esi + 0x34]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x28]
push str._s_____s_
push eax
call fcn.00402550
mov byte [esp + 0xd0], 5
mov eax, dword [esp + 0x64]
add esp, 0x10
jmp 0x43e5e6
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x7c]
push eax
call fcn.00440934
mov byte [esp + 0xc0], 9
push dword [eax]
lea eax, [esp + 0x24]
push 0x478e7c
push eax
call fcn.00402550
mov byte [esp + 0xcc], 5
mov eax, dword [esp + 0x88]
add esp, 0xc
add eax, 0xfffffff0
call fcn.004017c3
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
push esi
push edi
push 0x478e84
push dword [esp + 0x24]
call fcn.0043f56f
add esp, 0x10
lea eax, [esi - 0x10]
call fcn.004017c3
lea eax, [edi - 0x10]
mov byte [esp + 0xc0], 2
call fcn.004017c3
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
call fcn.0044070b
lea ecx, [esp + 0x84]
mov esi, ebx
call fcn.00440683
jmp 0x43e32d
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.0040227e
push 1
jmp 0x43e321
cmp dword [esp + 0x28], 0
jne 0x43e681
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.0040227e
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
mov eax, dword [esi + 0x28]
cmp eax, 0x19
jne 0x43e7cd
mov edx, dword [edi]
push 2
pop ecx
cmp edx, ecx
jne 0x43e6ad
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43eafc
mov eax, dword [eax + 8]
add eax, dword [edi + 8]
jmp 0x43e813
mov eax, edi
call fcn.00440921
test eax, eax
je 0x43e79a
mov eax, dword [esp + 0x1c]
call fcn.00440921
test eax, eax
je 0x43e728
push dword [esp + 0x1c]
lea esi, [esp + 0x78]
call fcn.004407e4
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x60]
mov byte [esp + 0xc4], 0xa
call fcn.004407e4
push ecx
mov byte [esp + 0xc4], 0xb
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.00405212
pop ecx
pop ecx
mov edi, ebx
call fcn.004408ce
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
call fcn.004017c3
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x74]
jmp 0x43e786
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40]
push eax
call fcn.00440934
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x40]
mov byte [esp + 0xc4], 0xc
call fcn.004407e4
push ecx
mov byte [esp + 0xc4], 0xd
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.00405212
pop ecx
pop ecx
mov edi, ebx
call fcn.004408ce
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
call fcn.004017c3
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
call fcn.004017c3
mov edi, dword [esp + 0x24]
mov esi, dword [ebp + 8]
jmp 0x43eb1f
push 3
pop ecx
cmp edx, ecx
jne 0x43eafc
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43e7c0
fild dword [eax + 8]
fadd qword [edi + 8]
mov dword [ebx], ecx
fstp qword [ebx + 8]
jmp 0x43eb1f
cmp edx, ecx
jne 0x43eafc
fld qword [eax + 8]
jmp 0x43e7b3
cmp eax, 0x1a
jne 0x43e7f4
push 2
pop edx
cmp dword [edi], edx
jne 0x43eafc
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], edx
jne 0x43eafc
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
jmp 0x43e8f3
cmp eax, 0x1b
jne 0x43e85e
mov eax, dword [edi]
push 2
pop ecx
cmp eax, ecx
jne 0x43e830
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, ecx
jne 0x43e81d
mov eax, dword [eax + 8]
imul eax, dword [edi + 8]
mov dword [ebx], ecx
mov dword [ebx + 8], eax
jmp 0x43eb1f
push 3
pop ecx
cmp edx, ecx
jne 0x43eafc
fild dword [edi + 8]
fmul qword [eax + 8]
jmp 0x43e7b6
push 3
pop ecx
cmp eax, ecx
jne 0x43eafc
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43e851
fild dword [eax + 8]
fmul qword [edi + 8]
jmp 0x43e7b6
cmp edx, ecx
jne 0x43eafc
fld qword [eax + 8]
jmp 0x43e849
cmp eax, 0x1c
jne 0x43e8d0
mov eax, dword [edi]
cmp eax, 2
jne 0x43e89c
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
cmp eax, 2
jne 0x43e884
mov eax, dword [edi + 8]
cdq
idiv dword [ecx + 8]
mov dword [ebx], 2
jmp 0x43e815
push 3
pop edx
cmp eax, edx
jne 0x43eafc
fild dword [edi + 8]
fdiv qword [ecx + 8]
mov dword [ebx], edx
jmp 0x43e7b8
push 3
pop ecx
cmp eax, ecx
jne 0x43eafc
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43e8bd
fild dword [eax + 8]
fdivr qword [edi + 8]
jmp 0x43e7b6
cmp edx, ecx
jne 0x43eafc
fld qword [edi + 8]
fdiv qword [eax + 8]
jmp 0x43e7b6
cmp eax, 5
jne 0x43e95d
mov ecx, dword [esp + 0x1c]
push 2
pop edx
cmp dword [edi], edx
jne 0x43e8fa
cmp dword [ecx], edx
jne 0x43e8fa
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
neg eax
sbb eax, eax
inc eax
mov dword [ebx], edx
jmp 0x43e815
mov eax, edi
call fcn.00440921
test eax, eax
je 0x43eafc
mov eax, ecx
call fcn.00440921
test eax, eax
je 0x43eafc
push dword [esp + 0x1c]
lea esi, [esp + 0x4c]
call fcn.004407e4
mov ecx, dword [esp + 0x24]
mov byte [esp + 0xc0], 0xe
mov edx, dword [ecx + 8]
mov eax, dword [eax]
push edx
mov ecx, eax
call fcn.004014b1
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 8], eax
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x48]
mov dword [ebx], 2
jmp 0x43e786
cmp eax, 6
jne 0x43e9ea
cmp dword [edi], 2
mov ecx, dword [esp + 0x1c]
jne 0x43e986
cmp dword [ecx], 2
jne 0x43e986
mov eax, dword [edi + 8]
xor edx, edx
cmp eax, dword [ecx + 8]
setne dl
mov eax, edx
jmp 0x43e87c
mov eax, edi
call fcn.00440921
test eax, eax
je 0x43eafc
mov eax, ecx
call fcn.00440921
test eax, eax
je 0x43eafc
push dword [esp + 0x1c]
lea esi, [esp + 0x54]
call fcn.004407e4
mov ecx, dword [esp + 0x24]
mov byte [esp + 0xc0], 0xf
mov edx, dword [ecx + 8]
mov eax, dword [eax]
push edx
mov ecx, eax
call fcn.004014b1
neg eax
sbb eax, eax
neg eax
mov dword [ebx + 8], eax
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x50]
mov dword [ebx], 2
jmp 0x43e786
cmp eax, 9
jne 0x43ea15
cmp dword [edi], 2
jne 0x43eafc
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43eafc
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setl dl
jmp 0x43e97f
cmp eax, 0xa
jne 0x43ea40
cmp dword [edi], 2
jne 0x43eafc
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43eafc
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setg dl
jmp 0x43e97f
cmp eax, 7
jne 0x43ea6b
cmp dword [edi], 2
jne 0x43eafc
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43eafc
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setle dl
jmp 0x43e97f
cmp eax, 8
jne 0x43ea92
cmp dword [edi], 2
jne 0x43eafc
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43eafc
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setge dl
jmp 0x43e97f
cmp eax, 0xb
jne 0x43eabb
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43eafc
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43eafc
cmp dword [edi + 8], 0
jne 0x43ead5
xor eax, eax
jmp 0x43e813
xor eax, eax
inc eax
jmp 0x43e813
cmp eax, 0xc
jne 0x43eadd
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43eafc
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43eafc
cmp dword [edi + 8], 0
jne 0x43eab3
cmp dword [eax + 8], 0
jne 0x43eab3
jmp 0x43eaac
cmp eax, 0x20
jne 0x43eafc
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43eafc
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43eafc
mov eax, dword [eax + 8]
or eax, dword [edi + 8]
jmp 0x43e813
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.0040227e
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d49c
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e32d
mov eax, dword [0x4872ec]
mov ecx, 0x4872ec
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0xc0], 0x10
mov eax, dword [0x4872ec]
mov ecx, 0x4872ec
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0xc0], 0x11
mov eax, dword [eax + 0x34]
test eax, eax
je 0x43eb83
push eax
lea eax, [esp + 0x24]
push str._____s_
push eax
call fcn.00402550
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x43eba5
mov eax, dword [eax + 0x34]
test eax, eax
je 0x43eba5
push eax
lea eax, [esp + 0x18]
push str._____s_
push eax
call fcn.00402550
add esp, 0xc
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push eax
call fcn.00440934
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x12
call fcn.00405212
pop ecx
pop ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x68]
push eax
mov ecx, edi
mov byte [esp + 0xc4], 0x13
call fcn.00440934
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x14
call fcn.00405212
pop ecx
pop ecx
mov edi, eax
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x15
call fcn.00440934
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0xc0], 0x16
mov ecx, dword [ecx]
mov edx, dword [eax]
mov eax, dword [esi + 0x28]
mov edi, dword [edi]
push ecx
call fcn.0043f9b2
push eax
push edi
push edx
push 0x478eb4
push dword [esp + 0x2c]
call fcn.0043f56f
mov eax, dword [esp + 0x70]
add esp, 0x18
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.004017c3
jmp 0x43e32d