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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46924f
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x485060]
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 0x43df62
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push esi
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d833
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x43df8e
lea ecx, [edi + 0x38]
mov esi, ebx
call fcn.00440aad
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 0x43e0ba
cmp dword [edi + 0x34], 0
jne 0x43dfb9
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push esi
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d833
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.004405a1
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43e004
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x34]
mov esi, dword [eax + 0x30]
call fcn.004405a1
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43e004
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [esp + 0x24], esp
call fcn.0043d6e6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d833
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], eax
mov esi, dword [edi + 0x2c]
jmp 0x43e0ad
cmp dword [esi + 0x28], 3
jne 0x43e08a
mov eax, dword [ebx]
cmp eax, 7
jne 0x43e02e
mov ecx, dword [ebx + 8]
call fcn.00440bfe
cmp eax, 5
jne 0x43e08a
mov ecx, ebx
call fcn.00440c7f
mov edi, dword [eax + 8]
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push dword [esi + 0x34]
push eax
call fcn.004021f9
call fcn.0044091e
mov edi, eax
test edi, edi
jne 0x43e078
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
mov eax, ebx
call fcn.00440a44
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x43e0aa
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
mov esi, dword [esi + 0x2c]
test esi, esi
jne 0x43e019
jmp 0x43df73
cmp eax, 4
jne 0x43e12f
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e11c
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x43e0ec
lea eax, [esp + 0x20]
push eax
call fcn.0043a471
and dword [esp + 0xc0], 0
mov esi, dword [eax]
mov dword [esp + 0x14], 1
push esi
push dword [edi + 0x34]
push 0x478f60
push dword [esp + 0x24]
call fcn.0043f906
or dword [esp + 0xd0], 0xffffffff
add esp, 0x10
test byte [esp + 0x14], 1
je 0x43e11c
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.0043f036
jmp 0x43df76
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 0x43e1bf
push ecx
mov dword [esp + 0x18], esp
mov eax, esp
push 0x46f164
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.00440a44
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.00440a44
xor eax, eax
jmp 0x43df76
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x9c]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x34]
call fcn.0043defb
test eax, eax
je 0x43e190
cmp dword [esp + 0x28], 0
je 0x43e1fe
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x84]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x30]
call fcn.0043defb
test eax, eax
je 0x43e190
lea ecx, [esp + 0x9c]
call fcn.00440c7f
mov edi, eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x24], edi
call fcn.00440c7f
mov ecx, dword [esi + 0x28]
cmp ecx, 0x18
mov dword [esp + 0x1c], eax
jg 0x43e683
cmp ecx, 0x13
jge 0x43e4fc
push 2
pop eax
cmp ecx, eax
je 0x43e3d8
cmp ecx, 4
jle 0x43e6a1
cmp ecx, 0xe
jle 0x43e9f1
cmp ecx, 0x12
jg 0x43e6a1
cmp dword [esp + 0x28], 0
je 0x43e285
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
push 2
pop eax
cmp dword [edi], eax
je 0x43e2ac
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0xf
jne 0x43e2c7
cmp dword [edi], eax
jne 0x43e343
mov ecx, dword [edi + 8]
lea edx, [ecx + 1]
mov dword [edi + 8], edx
jmp 0x43e33c
cmp ecx, 0x10
jne 0x43e2d8
cmp dword [edi], eax
jne 0x43e343
mov ecx, dword [edi + 8]
lea edx, [ecx - 1]
jmp 0x43e2c2
cmp ecx, 0x11
jne 0x43e2ef
cmp dword [edi], eax
jne 0x43e343
inc dword [edi + 8]
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x43e366
cmp ecx, 0x12
jne 0x43e2fd
cmp dword [edi], eax
jne 0x43e343
dec dword [edi + 8]
jmp 0x43e2e4
cmp ecx, 0x15
jne 0x43e30b
cmp dword [edi], eax
jne 0x43e343
mov ecx, dword [edi + 8]
jmp 0x43e33c
cmp ecx, 0x16
jne 0x43e31b
cmp dword [edi], eax
jne 0x43e343
mov ecx, dword [edi + 8]
neg ecx
jmp 0x43e33c
cmp ecx, 0x17
jne 0x43e32b
cmp dword [edi], eax
jne 0x43e343
mov ecx, dword [edi + 8]
not ecx
jmp 0x43e33c
cmp ecx, 0x18
jne 0x43e343
cmp dword [edi], eax
jne 0x43e343
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x43e366
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e6c4
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call fcn.00440d5e
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0xc4], 0x17
call fcn.0043a471
mov byte [esp + 0xc0], 0x18
mov edi, dword [edi]
mov eax, dword [eax]
push edi
push eax
mov eax, dword [esi + 0x28]
call fcn.0043fd49
push eax
push 0x47903c
push dword [esp + 0x28]
call fcn.0043f906
mov eax, dword [esp + 0x80]
add esp, 0x14
add eax, 0xfffffff0
call fcn.004017c3
mov eax, dword [esp + 0x78]
jmp 0x43f029
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.004405a1
mov esi, eax
test esi, esi
jne 0x43e43f
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d833
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.00440a44
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.00440a44
mov eax, esi
jmp 0x43df76
cmp dword [esi], 8
je 0x43e467
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 0x132
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d833
mov eax, dword [esp + 0x24]
cmp dword [eax], 2
je 0x43e493
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 0x12f
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d833
cmp dword [esi], 8
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], ecx
je 0x43e4a7
xor esi, esi
jmp 0x43e4c4
test ecx, ecx
jl 0x43e4be
mov eax, dword [esi + 8]
cmp ecx, dword [eax]
jge 0x43e4be
mov esi, dword [esp + 0x14]
imul esi, esi, 0x18
add esi, dword [eax + 4]
jmp 0x43e4c0
xor esi, esi
test esi, esi
jne 0x43e4e7
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push 0x46f164
push eax
call fcn.004021f9
push 0x133
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043d833
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], esi
mov dword [ebx + 0x10], eax
jmp 0x43e6c4
je 0x43e503
cmp ecx, 0x14
jne 0x43e526
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f9
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
cmp dword [esp + 0x28], 0
je 0x43e54d
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
push 2
pop eax
cmp dword [edi], eax
je 0x43e577
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0x15
jne 0x43e588
cmp dword [edi], eax
jne 0x43e5c0
mov ecx, dword [edi + 8]
jmp 0x43e5b9
cmp ecx, 0x16
jne 0x43e598
cmp dword [edi], eax
jne 0x43e5c0
mov ecx, dword [edi + 8]
neg ecx
jmp 0x43e5b9
cmp ecx, 0x17
jne 0x43e5a8
cmp dword [edi], eax
jne 0x43e5c0
mov ecx, dword [edi + 8]
not ecx
jmp 0x43e5b9
cmp ecx, 0x18
jne 0x43e5c0
cmp dword [edi], eax
jne 0x43e5c0
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x43e5e3
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e6c4
lea eax, [esp + 0x80]
push eax
mov ecx, edi
call fcn.00440d5e
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0xc4], 0x19
call fcn.0043a471
mov dword [esp + 0x14], eax
lea eax, [esp + 0x64]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x1a
call fcn.00440d5e
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.0043fd49
push eax
push edx
push 0x47906c
push dword [esp + 0x2c]
call fcn.0043f906
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 0x43f029
cmp ecx, 0x19
jl 0x43e6a1
cmp ecx, 0x1d
jle 0x43e9f1
cmp ecx, 0x1e
je 0x43e6cc
jle 0x43e6a1
cmp ecx, 0x21
jle 0x43e9f1
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f9
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
xor esi, esi
inc esi
jmp 0x43e410
cmp dword [esp + 0x28], 0
jne 0x43e6dd
push ecx
mov dword [esp + 0x34], esp
jmp 0x43e175
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x28]
cmp eax, 1
je 0x43e6f2
cmp eax, 2
jne 0x43e9d8
cmp dword [ecx + 0x34], 0
je 0x43e9d8
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
mov eax, dword [eax]
cmp ecx, eax
je 0x43e744
cmp ecx, 4
jne 0x43e717
cmp eax, 6
je 0x43e744
cmp eax, 2
je 0x43e744
cmp ecx, 2
jne 0x43e721
cmp eax, 3
je 0x43e744
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f9
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
cmp dword [edi], 5
jne 0x43e7da
mov eax, dword [esp + 0x1c]
cmp dword [eax], 5
jne 0x43e7da
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 0x43e7da
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e9b8
mov eax, dword [0x4882ec]
mov esi, 0x4882ec
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0xc0], 4
mov eax, dword [0x4882ec]
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 0x43e836
push dword [edi + 0x10]
push dword [eax + 0x34]
push str._s__d_
jmp 0x43e848
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x43e857
push dword [ecx + 0x34]
push dword [eax + 0x34]
push str._s._s
lea eax, [esp + 0x20]
push eax
call fcn.004024cb
add esp, 0x10
jmp 0x43e86c
push dword [eax + 0x34]
lea eax, [esp + 0x18]
push 0x4709c8
push eax
call fcn.004024cb
add esp, 0xc
mov esi, dword [esp + 0x28]
cmp dword [esi + 0x34], 0
je 0x43e944
cmp dword [esi + 0x28], 2
jne 0x43e8c4
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.00440d5e
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.004024cb
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x60]
add esp, 0x14
jmp 0x43e97d
cmp dword [esi + 0x2c], 0
mov ecx, dword [esp + 0x1c]
je 0x43e90c
lea eax, [esp + 0x38]
push eax
call fcn.00440d5e
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.004024cb
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x4c]
add esp, 0x14
jmp 0x43e97d
lea eax, [esp + 0x54]
push eax
call fcn.00440d5e
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.004024cb
mov byte [esp + 0xd0], 5
mov eax, dword [esp + 0x64]
add esp, 0x10
jmp 0x43e97d
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x7c]
push eax
call fcn.00440d5e
mov byte [esp + 0xc0], 9
push dword [eax]
lea eax, [esp + 0x24]
push 0x478fdc
push eax
call fcn.004024cb
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 0x478fe4
push dword [esp + 0x24]
call fcn.0043f906
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.00440b35
lea ecx, [esp + 0x84]
mov esi, ebx
call fcn.00440aad
jmp 0x43e6c4
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f9
push 1
jmp 0x43e6b8
cmp dword [esp + 0x28], 0
jne 0x43ea18
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46f164
push eax
call fcn.004021f9
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
mov eax, dword [esi + 0x28]
cmp eax, 0x19
jne 0x43eb64
mov edx, dword [edi]
push 2
pop ecx
cmp edx, ecx
jne 0x43ea44
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43ee93
mov eax, dword [eax + 8]
add eax, dword [edi + 8]
jmp 0x43ebaa
mov eax, edi
call fcn.00440d4b
test eax, eax
je 0x43eb31
mov eax, dword [esp + 0x1c]
call fcn.00440d4b
test eax, eax
je 0x43eabf
push dword [esp + 0x1c]
lea esi, [esp + 0x78]
call fcn.00440c0e
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x60]
mov byte [esp + 0xc4], 0xa
call fcn.00440c0e
push ecx
mov byte [esp + 0xc4], 0xb
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.004050c6
pop ecx
pop ecx
mov edi, ebx
call fcn.00440cf8
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
call fcn.004017c3
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x74]
jmp 0x43eb1d
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40]
push eax
call fcn.00440d5e
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x40]
mov byte [esp + 0xc4], 0xc
call fcn.00440c0e
push ecx
mov byte [esp + 0xc4], 0xd
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.004050c6
pop ecx
pop ecx
mov edi, ebx
call fcn.00440cf8
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 0x43eeb6
push 3
pop ecx
cmp edx, ecx
jne 0x43ee93
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43eb57
fild dword [eax + 8]
fadd qword [edi + 8]
mov dword [ebx], ecx
fstp qword [ebx + 8]
jmp 0x43eeb6
cmp edx, ecx
jne 0x43ee93
fld qword [eax + 8]
jmp 0x43eb4a
cmp eax, 0x1a
jne 0x43eb8b
push 2
pop edx
cmp dword [edi], edx
jne 0x43ee93
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], edx
jne 0x43ee93
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
jmp 0x43ec8a
cmp eax, 0x1b
jne 0x43ebf5
mov eax, dword [edi]
push 2
pop ecx
cmp eax, ecx
jne 0x43ebc7
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, ecx
jne 0x43ebb4
mov eax, dword [eax + 8]
imul eax, dword [edi + 8]
mov dword [ebx], ecx
mov dword [ebx + 8], eax
jmp 0x43eeb6
push 3
pop ecx
cmp edx, ecx
jne 0x43ee93
fild dword [edi + 8]
fmul qword [eax + 8]
jmp 0x43eb4d
push 3
pop ecx
cmp eax, ecx
jne 0x43ee93
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43ebe8
fild dword [eax + 8]
fmul qword [edi + 8]
jmp 0x43eb4d
cmp edx, ecx
jne 0x43ee93
fld qword [eax + 8]
jmp 0x43ebe0
cmp eax, 0x1c
jne 0x43ec67
mov eax, dword [edi]
cmp eax, 2
jne 0x43ec33
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
cmp eax, 2
jne 0x43ec1b
mov eax, dword [edi + 8]
cdq
idiv dword [ecx + 8]
mov dword [ebx], 2
jmp 0x43ebac
push 3
pop edx
cmp eax, edx
jne 0x43ee93
fild dword [edi + 8]
fdiv qword [ecx + 8]
mov dword [ebx], edx
jmp 0x43eb4f
push 3
pop ecx
cmp eax, ecx
jne 0x43ee93
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43ec54
fild dword [eax + 8]
fdivr qword [edi + 8]
jmp 0x43eb4d
cmp edx, ecx
jne 0x43ee93
fld qword [edi + 8]
fdiv qword [eax + 8]
jmp 0x43eb4d
cmp eax, 5
jne 0x43ecf4
mov ecx, dword [esp + 0x1c]
push 2
pop edx
cmp dword [edi], edx
jne 0x43ec91
cmp dword [ecx], edx
jne 0x43ec91
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
neg eax
sbb eax, eax
inc eax
mov dword [ebx], edx
jmp 0x43ebac
mov eax, edi
call fcn.00440d4b
test eax, eax
je 0x43ee93
mov eax, ecx
call fcn.00440d4b
test eax, eax
je 0x43ee93
push dword [esp + 0x1c]
lea esi, [esp + 0x4c]
call fcn.00440c0e
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 0x43eb1d
cmp eax, 6
jne 0x43ed81
cmp dword [edi], 2
mov ecx, dword [esp + 0x1c]
jne 0x43ed1d
cmp dword [ecx], 2
jne 0x43ed1d
mov eax, dword [edi + 8]
xor edx, edx
cmp eax, dword [ecx + 8]
setne dl
mov eax, edx
jmp 0x43ec13
mov eax, edi
call fcn.00440d4b
test eax, eax
je 0x43ee93
mov eax, ecx
call fcn.00440d4b
test eax, eax
je 0x43ee93
push dword [esp + 0x1c]
lea esi, [esp + 0x54]
call fcn.00440c0e
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 0x43eb1d
cmp eax, 9
jne 0x43edac
cmp dword [edi], 2
jne 0x43ee93
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43ee93
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setl dl
jmp 0x43ed16
cmp eax, 0xa
jne 0x43edd7
cmp dword [edi], 2
jne 0x43ee93
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43ee93
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setg dl
jmp 0x43ed16
cmp eax, 7
jne 0x43ee02
cmp dword [edi], 2
jne 0x43ee93
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43ee93
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setle dl
jmp 0x43ed16
cmp eax, 8
jne 0x43ee29
cmp dword [edi], 2
jne 0x43ee93
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43ee93
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setge dl
jmp 0x43ed16
cmp eax, 0xb
jne 0x43ee52
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43ee93
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43ee93
cmp dword [edi + 8], 0
jne 0x43ee6c
xor eax, eax
jmp 0x43ebaa
xor eax, eax
inc eax
jmp 0x43ebaa
cmp eax, 0xc
jne 0x43ee74
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43ee93
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43ee93
cmp dword [edi + 8], 0
jne 0x43ee4a
cmp dword [eax + 8], 0
jne 0x43ee4a
jmp 0x43ee43
cmp eax, 0x20
jne 0x43ee93
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43ee93
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43ee93
mov eax, dword [eax + 8]
or eax, dword [edi + 8]
jmp 0x43ebaa
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46f164
push eax
call fcn.004021f9
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043d833
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43e6c4
mov eax, dword [0x4882ec]
mov ecx, 0x4882ec
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0xc0], 0x10
mov eax, dword [0x4882ec]
mov ecx, 0x4882ec
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 0x43ef1a
push eax
lea eax, [esp + 0x24]
push str._____s_
push eax
call fcn.004024cb
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x43ef3c
mov eax, dword [eax + 0x34]
test eax, eax
je 0x43ef3c
push eax
lea eax, [esp + 0x18]
push str._____s_
push eax
call fcn.004024cb
add esp, 0xc
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push eax
call fcn.00440d5e
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x12
call fcn.004050c6
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.00440d5e
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x14
call fcn.004050c6
pop ecx
pop ecx
mov edi, eax
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x15
call fcn.00440d5e
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.0043fd49
push eax
push edi
push edx
push 0x479014
push dword [esp + 0x2c]
call fcn.0043f906
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 0x43e6c4