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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4691a2
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 0x43de7f
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push esi
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d750
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x43deab
lea ecx, [edi + 0x38]
mov esi, ebx
call fcn.00440922
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 0x43dfd7
cmp dword [edi + 0x34], 0
jne 0x43ded6
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push esi
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d750
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.004404be
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43df21
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x34]
mov esi, dword [eax + 0x30]
call fcn.004404be
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43df21
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [esp + 0x24], esp
call fcn.0043d603
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d750
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], eax
mov esi, dword [edi + 0x2c]
jmp 0x43dfca
cmp dword [esi + 0x28], 3
jne 0x43dfa7
mov eax, dword [ebx]
cmp eax, 7
jne 0x43df4b
mov ecx, dword [ebx + 8]
call fcn.00440a73
cmp eax, 5
jne 0x43dfa7
mov ecx, ebx
call fcn.00440af4
mov edi, dword [eax + 8]
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push dword [esi + 0x34]
push eax
call fcn.004021f0
call fcn.004407a3
mov edi, eax
test edi, edi
jne 0x43df95
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
mov eax, ebx
call fcn.004408b9
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x43dfc7
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
mov esi, dword [esi + 0x2c]
test esi, esi
jne 0x43df36
jmp 0x43de90
cmp eax, 4
jne 0x43e04c
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e039
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x43e009
lea eax, [esp + 0x20]
push eax
call fcn.0043a342
and dword [esp + 0xc0], 0
mov esi, dword [eax]
mov dword [esp + 0x14], 1
push esi
push dword [edi + 0x34]
push 0x478f20
push dword [esp + 0x24]
call fcn.0043f823
or dword [esp + 0xd0], 0xffffffff
add esp, 0x10
test byte [esp + 0x14], 1
je 0x43e039
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.0043ef53
jmp 0x43de93
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 0x43e0dc
push ecx
mov dword [esp + 0x18], esp
mov eax, esp
push 0x46f164
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.004408b9
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.004408b9
xor eax, eax
jmp 0x43de93
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x9c]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x34]
call fcn.0043de18
test eax, eax
je 0x43e0ad
cmp dword [esp + 0x28], 0
je 0x43e11b
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x84]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x30]
call fcn.0043de18
test eax, eax
je 0x43e0ad
lea ecx, [esp + 0x9c]
call fcn.00440af4
mov edi, eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x24], edi
call fcn.00440af4
mov ecx, dword [esi + 0x28]
cmp ecx, 0x18
mov dword [esp + 0x1c], eax
jg 0x43e5a0
cmp ecx, 0x13
jge 0x43e419
push 2
pop eax
cmp ecx, eax
je 0x43e2f5
cmp ecx, 4
jle 0x43e5be
cmp ecx, 0xe
jle 0x43e90e
cmp ecx, 0x12
jg 0x43e5be
cmp dword [esp + 0x28], 0
je 0x43e1a2
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
push 2
pop eax
cmp dword [edi], eax
je 0x43e1c9
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0xf
jne 0x43e1e4
cmp dword [edi], eax
jne 0x43e260
mov ecx, dword [edi + 8]
lea edx, [ecx + 1]
mov dword [edi + 8], edx
jmp 0x43e259
cmp ecx, 0x10
jne 0x43e1f5
cmp dword [edi], eax
jne 0x43e260
mov ecx, dword [edi + 8]
lea edx, [ecx - 1]
jmp 0x43e1df
cmp ecx, 0x11
jne 0x43e20c
cmp dword [edi], eax
jne 0x43e260
inc dword [edi + 8]
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x43e283
cmp ecx, 0x12
jne 0x43e21a
cmp dword [edi], eax
jne 0x43e260
dec dword [edi + 8]
jmp 0x43e201
cmp ecx, 0x15
jne 0x43e228
cmp dword [edi], eax
jne 0x43e260
mov ecx, dword [edi + 8]
jmp 0x43e259
cmp ecx, 0x16
jne 0x43e238
cmp dword [edi], eax
jne 0x43e260
mov ecx, dword [edi + 8]
neg ecx
jmp 0x43e259
cmp ecx, 0x17
jne 0x43e248
cmp dword [edi], eax
jne 0x43e260
mov ecx, dword [edi + 8]
not ecx
jmp 0x43e259
cmp ecx, 0x18
jne 0x43e260
cmp dword [edi], eax
jne 0x43e260
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x43e283
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e5e1
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call fcn.00440bd3
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0xc4], 0x17
call fcn.0043a342
mov byte [esp + 0xc0], 0x18
mov edi, dword [edi]
mov eax, dword [eax]
push edi
push eax
mov eax, dword [esi + 0x28]
call fcn.0043fc66
push eax
push 0x478ffc
push dword [esp + 0x28]
call fcn.0043f823
mov eax, dword [esp + 0x80]
add esp, 0x14
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x78]
jmp 0x43ef46
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.004404be
mov esi, eax
test esi, esi
jne 0x43e35c
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d750
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.004408b9
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.004408b9
mov eax, esi
jmp 0x43de93
cmp dword [esi], 8
je 0x43e384
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 0x132
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d750
mov eax, dword [esp + 0x24]
cmp dword [eax], 2
je 0x43e3b0
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 0x12f
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d750
cmp dword [esi], 8
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], ecx
je 0x43e3c4
xor esi, esi
jmp 0x43e3e1
test ecx, ecx
jl 0x43e3db
mov eax, dword [esi + 8]
cmp ecx, dword [eax]
jge 0x43e3db
mov esi, dword [esp + 0x14]
imul esi, esi, 0x18
add esi, dword [eax + 4]
jmp 0x43e3dd
xor esi, esi
test esi, esi
jne 0x43e404
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push 0x46f164
push eax
call fcn.004021f0
push 0x133
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d750
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], esi
mov dword [ebx + 0x10], eax
jmp 0x43e5e1
je 0x43e420
cmp ecx, 0x14
jne 0x43e443
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f0
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
cmp dword [esp + 0x28], 0
je 0x43e46a
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
push 2
pop eax
cmp dword [edi], eax
je 0x43e494
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0x15
jne 0x43e4a5
cmp dword [edi], eax
jne 0x43e4dd
mov ecx, dword [edi + 8]
jmp 0x43e4d6
cmp ecx, 0x16
jne 0x43e4b5
cmp dword [edi], eax
jne 0x43e4dd
mov ecx, dword [edi + 8]
neg ecx
jmp 0x43e4d6
cmp ecx, 0x17
jne 0x43e4c5
cmp dword [edi], eax
jne 0x43e4dd
mov ecx, dword [edi + 8]
not ecx
jmp 0x43e4d6
cmp ecx, 0x18
jne 0x43e4dd
cmp dword [edi], eax
jne 0x43e4dd
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x43e500
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e5e1
lea eax, [esp + 0x80]
push eax
mov ecx, edi
call fcn.00440bd3
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0xc4], 0x19
call fcn.0043a342
mov dword [esp + 0x14], eax
lea eax, [esp + 0x64]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x1a
call fcn.00440bd3
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.0043fc66
push eax
push edx
push 0x47902c
push dword [esp + 0x2c]
call fcn.0043f823
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 0x43ef46
cmp ecx, 0x19
jl 0x43e5be
cmp ecx, 0x1d
jle 0x43e90e
cmp ecx, 0x1e
je 0x43e5e9
jle 0x43e5be
cmp ecx, 0x21
jle 0x43e90e
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f0
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
xor esi, esi
inc esi
jmp 0x43e32d
cmp dword [esp + 0x28], 0
jne 0x43e5fa
push ecx
mov dword [esp + 0x34], esp
jmp 0x43e092
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x28]
cmp eax, 1
je 0x43e60f
cmp eax, 2
jne 0x43e8f5
cmp dword [ecx + 0x34], 0
je 0x43e8f5
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
mov eax, dword [eax]
cmp ecx, eax
je 0x43e661
cmp ecx, 4
jne 0x43e634
cmp eax, 6
je 0x43e661
cmp eax, 2
je 0x43e661
cmp ecx, 2
jne 0x43e63e
cmp eax, 3
je 0x43e661
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f0
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
cmp dword [edi], 5
jne 0x43e6f7
mov eax, dword [esp + 0x1c]
cmp dword [eax], 5
jne 0x43e6f7
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 0x43e6f7
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e8d5
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 0x43e753
push dword [edi + 0x10]
push dword [eax + 0x34]
push str._s__d_
jmp 0x43e765
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x43e774
push dword [ecx + 0x34]
push dword [eax + 0x34]
push str._s._s
lea eax, [esp + 0x20]
push eax
call fcn.004024c2
add esp, 0x10
jmp 0x43e789
push dword [eax + 0x34]
lea eax, [esp + 0x18]
push 0x4709c8
push eax
call fcn.004024c2
add esp, 0xc
mov esi, dword [esp + 0x28]
cmp dword [esi + 0x34], 0
je 0x43e861
cmp dword [esi + 0x28], 2
jne 0x43e7e1
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.00440bd3
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.004024c2
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x60]
add esp, 0x14
jmp 0x43e89a
cmp dword [esi + 0x2c], 0
mov ecx, dword [esp + 0x1c]
je 0x43e829
lea eax, [esp + 0x38]
push eax
call fcn.00440bd3
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.004024c2
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x4c]
add esp, 0x14
jmp 0x43e89a
lea eax, [esp + 0x54]
push eax
call fcn.00440bd3
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.004024c2
mov byte [esp + 0xd0], 5
mov eax, dword [esp + 0x64]
add esp, 0x10
jmp 0x43e89a
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x7c]
push eax
call fcn.00440bd3
mov byte [esp + 0xc0], 9
push dword [eax]
lea eax, [esp + 0x24]
push 0x478f9c
push eax
call fcn.004024c2
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 0x478fa4
push dword [esp + 0x24]
call fcn.0043f823
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.004409aa
lea ecx, [esp + 0x84]
mov esi, ebx
call fcn.00440922
jmp 0x43e5e1
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f0
push 1
jmp 0x43e5d5
cmp dword [esp + 0x28], 0
jne 0x43e935
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f0
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
mov eax, dword [esi + 0x28]
cmp eax, 0x19
jne 0x43ea81
mov edx, dword [edi]
push 2
pop ecx
cmp edx, ecx
jne 0x43e961
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43edb0
mov eax, dword [eax + 8]
add eax, dword [edi + 8]
jmp 0x43eac7
mov eax, edi
call fcn.00440bc0
test eax, eax
je 0x43ea4e
mov eax, dword [esp + 0x1c]
call fcn.00440bc0
test eax, eax
je 0x43e9dc
push dword [esp + 0x1c]
lea esi, [esp + 0x78]
call fcn.00440a83
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x60]
mov byte [esp + 0xc4], 0xa
call fcn.00440a83
push ecx
mov byte [esp + 0xc4], 0xb
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.00405223
pop ecx
pop ecx
mov edi, ebx
call fcn.00440b6d
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
call fcn.004017c3
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x74]
jmp 0x43ea3a
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40]
push eax
call fcn.00440bd3
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x40]
mov byte [esp + 0xc4], 0xc
call fcn.00440a83
push ecx
mov byte [esp + 0xc4], 0xd
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.00405223
pop ecx
pop ecx
mov edi, ebx
call fcn.00440b6d
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 0x43edd3
push 3
pop ecx
cmp edx, ecx
jne 0x43edb0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43ea74
fild dword [eax + 8]
fadd qword [edi + 8]
mov dword [ebx], ecx
fstp qword [ebx + 8]
jmp 0x43edd3
cmp edx, ecx
jne 0x43edb0
fld qword [eax + 8]
jmp 0x43ea67
cmp eax, 0x1a
jne 0x43eaa8
push 2
pop edx
cmp dword [edi], edx
jne 0x43edb0
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], edx
jne 0x43edb0
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
jmp 0x43eba7
cmp eax, 0x1b
jne 0x43eb12
mov eax, dword [edi]
push 2
pop ecx
cmp eax, ecx
jne 0x43eae4
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, ecx
jne 0x43ead1
mov eax, dword [eax + 8]
imul eax, dword [edi + 8]
mov dword [ebx], ecx
mov dword [ebx + 8], eax
jmp 0x43edd3
push 3
pop ecx
cmp edx, ecx
jne 0x43edb0
fild dword [edi + 8]
fmul qword [eax + 8]
jmp 0x43ea6a
push 3
pop ecx
cmp eax, ecx
jne 0x43edb0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43eb05
fild dword [eax + 8]
fmul qword [edi + 8]
jmp 0x43ea6a
cmp edx, ecx
jne 0x43edb0
fld qword [eax + 8]
jmp 0x43eafd
cmp eax, 0x1c
jne 0x43eb84
mov eax, dword [edi]
cmp eax, 2
jne 0x43eb50
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
cmp eax, 2
jne 0x43eb38
mov eax, dword [edi + 8]
cdq
idiv dword [ecx + 8]
mov dword [ebx], 2
jmp 0x43eac9
push 3
pop edx
cmp eax, edx
jne 0x43edb0
fild dword [edi + 8]
fdiv qword [ecx + 8]
mov dword [ebx], edx
jmp 0x43ea6c
push 3
pop ecx
cmp eax, ecx
jne 0x43edb0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43eb71
fild dword [eax + 8]
fdivr qword [edi + 8]
jmp 0x43ea6a
cmp edx, ecx
jne 0x43edb0
fld qword [edi + 8]
fdiv qword [eax + 8]
jmp 0x43ea6a
cmp eax, 5
jne 0x43ec11
mov ecx, dword [esp + 0x1c]
push 2
pop edx
cmp dword [edi], edx
jne 0x43ebae
cmp dword [ecx], edx
jne 0x43ebae
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
neg eax
sbb eax, eax
inc eax
mov dword [ebx], edx
jmp 0x43eac9
mov eax, edi
call fcn.00440bc0
test eax, eax
je 0x43edb0
mov eax, ecx
call fcn.00440bc0
test eax, eax
je 0x43edb0
push dword [esp + 0x1c]
lea esi, [esp + 0x4c]
call fcn.00440a83
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 0x43ea3a
cmp eax, 6
jne 0x43ec9e
cmp dword [edi], 2
mov ecx, dword [esp + 0x1c]
jne 0x43ec3a
cmp dword [ecx], 2
jne 0x43ec3a
mov eax, dword [edi + 8]
xor edx, edx
cmp eax, dword [ecx + 8]
setne dl
mov eax, edx
jmp 0x43eb30
mov eax, edi
call fcn.00440bc0
test eax, eax
je 0x43edb0
mov eax, ecx
call fcn.00440bc0
test eax, eax
je 0x43edb0
push dword [esp + 0x1c]
lea esi, [esp + 0x54]
call fcn.00440a83
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 0x43ea3a
cmp eax, 9
jne 0x43ecc9
cmp dword [edi], 2
jne 0x43edb0
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43edb0
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setl dl
jmp 0x43ec33
cmp eax, 0xa
jne 0x43ecf4
cmp dword [edi], 2
jne 0x43edb0
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43edb0
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setg dl
jmp 0x43ec33
cmp eax, 7
jne 0x43ed1f
cmp dword [edi], 2
jne 0x43edb0
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43edb0
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setle dl
jmp 0x43ec33
cmp eax, 8
jne 0x43ed46
cmp dword [edi], 2
jne 0x43edb0
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43edb0
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setge dl
jmp 0x43ec33
cmp eax, 0xb
jne 0x43ed6f
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43edb0
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43edb0
cmp dword [edi + 8], 0
jne 0x43ed89
xor eax, eax
jmp 0x43eac7
xor eax, eax
inc eax
jmp 0x43eac7
cmp eax, 0xc
jne 0x43ed91
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43edb0
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43edb0
cmp dword [edi + 8], 0
jne 0x43ed67
cmp dword [eax + 8], 0
jne 0x43ed67
jmp 0x43ed60
cmp eax, 0x20
jne 0x43edb0
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43edb0
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43edb0
mov eax, dword [eax + 8]
or eax, dword [edi + 8]
jmp 0x43eac7
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f0
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d750
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e5e1
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 0x43ee37
push eax
lea eax, [esp + 0x24]
push str._____s_
push eax
call fcn.004024c2
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x43ee59
mov eax, dword [eax + 0x34]
test eax, eax
je 0x43ee59
push eax
lea eax, [esp + 0x18]
push str._____s_
push eax
call fcn.004024c2
add esp, 0xc
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push eax
call fcn.00440bd3
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x12
call fcn.00405223
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.00440bd3
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x14
call fcn.00405223
pop ecx
pop ecx
mov edi, eax
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x15
call fcn.00440bd3
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.0043fc66
push eax
push edi
push edx
push 0x478fd4
push dword [esp + 0x2c]
call fcn.0043f823
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 0x43e5e1