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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4654a9
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x47f070]
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, 0x46af74
je 0x439bc5
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push esi
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.00439496
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x439bf1
lea ecx, [edi + 0x38]
mov esi, ebx
call fcn.0043c6a8
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 0x439d1d
cmp dword [edi + 0x34], 0
jne 0x439c1c
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push esi
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.00439496
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.0043c24b
mov dword [esp + 0x14], eax
test eax, eax
jne 0x439c67
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x34]
mov esi, dword [eax + 0x30]
call fcn.0043c24b
mov dword [esp + 0x14], eax
test eax, eax
jne 0x439c67
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [esp + 0x24], esp
call fcn.00439349
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.00439496
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], eax
mov esi, dword [edi + 0x2c]
jmp 0x439d10
cmp dword [esi + 0x28], 3
jne 0x439ced
mov eax, dword [ebx]
cmp eax, 7
jne 0x439c91
mov ecx, dword [ebx + 8]
call fcn.0043c7f9
cmp eax, 5
jne 0x439ced
mov ecx, ebx
call fcn.0043c87a
mov edi, dword [eax + 8]
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push dword [esi + 0x34]
push eax
call fcn.00404846
call fcn.0043c523
mov edi, eax
test edi, edi
jne 0x439cdb
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
mov eax, ebx
call fcn.0043c63f
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x439d0d
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
mov esi, dword [esi + 0x2c]
test esi, esi
jne 0x439c7c
jmp 0x439bd6
cmp eax, 4
jne 0x439d92
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x439d7f
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x439d4f
lea eax, [esp + 0x20]
push eax
call fcn.00436116
and dword [esp + 0xc0], 0
mov esi, dword [eax]
mov dword [esp + 0x14], 1
push esi
push dword [edi + 0x34]
push 0x4745d0
push dword [esp + 0x24]
call fcn.0043b513
or dword [esp + 0xd0], 0xffffffff
add esp, 0x10
test byte [esp + 0x14], 1
je 0x439d7f
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.0040178c
push ebx
push dword [ebp + 0xc]
push edi
push dword [esp + 0x24]
call fcn.0043ac99
jmp 0x439bd9
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 0x439e22
push ecx
mov dword [esp + 0x18], esp
mov eax, esp
push 0x46af74
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.0043c63f
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.0043c63f
xor eax, eax
jmp 0x439bd9
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x9c]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x34]
call fcn.00439b5e
test eax, eax
je 0x439df3
cmp dword [esp + 0x28], 0
je 0x439e61
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x84]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x30]
call fcn.00439b5e
test eax, eax
je 0x439df3
lea ecx, [esp + 0x9c]
call fcn.0043c87a
mov edi, eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x24], edi
call fcn.0043c87a
mov ecx, dword [esi + 0x28]
cmp ecx, 0x18
mov dword [esp + 0x1c], eax
jg 0x43a2e6
cmp ecx, 0x13
jge 0x43a15f
push 2
pop eax
cmp ecx, eax
je 0x43a03b
cmp ecx, 4
jle 0x43a304
cmp ecx, 0xe
jle 0x43a654
cmp ecx, 0x12
jg 0x43a304
cmp dword [esp + 0x28], 0
je 0x439ee8
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46af74
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
push 2
pop eax
cmp dword [edi], eax
je 0x439f0f
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0xf
jne 0x439f2a
cmp dword [edi], eax
jne 0x439fa6
mov ecx, dword [edi + 8]
lea edx, [ecx + 1]
mov dword [edi + 8], edx
jmp 0x439f9f
cmp ecx, 0x10
jne 0x439f3b
cmp dword [edi], eax
jne 0x439fa6
mov ecx, dword [edi + 8]
lea edx, [ecx - 1]
jmp 0x439f25
cmp ecx, 0x11
jne 0x439f52
cmp dword [edi], eax
jne 0x439fa6
inc dword [edi + 8]
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x439fc9
cmp ecx, 0x12
jne 0x439f60
cmp dword [edi], eax
jne 0x439fa6
dec dword [edi + 8]
jmp 0x439f47
cmp ecx, 0x15
jne 0x439f6e
cmp dword [edi], eax
jne 0x439fa6
mov ecx, dword [edi + 8]
jmp 0x439f9f
cmp ecx, 0x16
jne 0x439f7e
cmp dword [edi], eax
jne 0x439fa6
mov ecx, dword [edi + 8]
neg ecx
jmp 0x439f9f
cmp ecx, 0x17
jne 0x439f8e
cmp dword [edi], eax
jne 0x439fa6
mov ecx, dword [edi + 8]
not ecx
jmp 0x439f9f
cmp ecx, 0x18
jne 0x439fa6
cmp dword [edi], eax
jne 0x439fa6
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x439fc9
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43a327
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call fcn.0043c959
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0xc4], 0x17
call fcn.00436116
mov byte [esp + 0xc0], 0x18
mov edi, dword [edi]
mov eax, dword [eax]
push edi
push eax
mov eax, dword [esi + 0x28]
call fcn.0043b9f3
push eax
push 0x4746ac
push dword [esp + 0x28]
call fcn.0043b513
mov eax, dword [esp + 0x80]
add esp, 0x14
add eax, 0xfffffff0
call fcn.0040178c
mov eax, dword [esp + 0x78]
jmp 0x43ac8c
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.0043c24b
mov esi, eax
test esi, esi
jne 0x43a0a2
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.00439496
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.0043c63f
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.0043c63f
mov eax, esi
jmp 0x439bd9
cmp dword [esi], 8
je 0x43a0ca
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 0x132
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.00439496
mov eax, dword [esp + 0x24]
cmp dword [eax], 2
je 0x43a0f6
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 0x12f
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.00439496
cmp dword [esi], 8
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], ecx
je 0x43a10a
xor esi, esi
jmp 0x43a127
test ecx, ecx
jl 0x43a121
mov eax, dword [esi + 8]
cmp ecx, dword [eax]
jge 0x43a121
mov esi, dword [esp + 0x14]
imul esi, esi, 0x18
add esi, dword [eax + 4]
jmp 0x43a123
xor esi, esi
test esi, esi
jne 0x43a14a
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push 0x46af74
push eax
call fcn.00404846
push 0x133
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.00439496
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], esi
mov dword [ebx + 0x10], eax
jmp 0x43a327
je 0x43a166
cmp ecx, 0x14
jne 0x43a189
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46af74
push eax
call fcn.00404846
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
cmp dword [esp + 0x28], 0
je 0x43a1b0
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
push 2
pop eax
cmp dword [edi], eax
je 0x43a1da
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0x15
jne 0x43a1eb
cmp dword [edi], eax
jne 0x43a223
mov ecx, dword [edi + 8]
jmp 0x43a21c
cmp ecx, 0x16
jne 0x43a1fb
cmp dword [edi], eax
jne 0x43a223
mov ecx, dword [edi + 8]
neg ecx
jmp 0x43a21c
cmp ecx, 0x17
jne 0x43a20b
cmp dword [edi], eax
jne 0x43a223
mov ecx, dword [edi + 8]
not ecx
jmp 0x43a21c
cmp ecx, 0x18
jne 0x43a223
cmp dword [edi], eax
jne 0x43a223
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x43a246
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43a327
lea eax, [esp + 0x80]
push eax
mov ecx, edi
call fcn.0043c959
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0xc4], 0x19
call fcn.00436116
mov dword [esp + 0x14], eax
lea eax, [esp + 0x64]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x1a
call fcn.0043c959
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.0043b9f3
push eax
push edx
push 0x4746dc
push dword [esp + 0x2c]
call fcn.0043b513
mov eax, dword [esp + 0x7c]
add esp, 0x18
add eax, 0xfffffff0
call fcn.0040178c
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
call fcn.0040178c
mov eax, dword [esp + 0x80]
jmp 0x43ac8c
cmp ecx, 0x19
jl 0x43a304
cmp ecx, 0x1d
jle 0x43a654
cmp ecx, 0x1e
je 0x43a32f
jle 0x43a304
cmp ecx, 0x21
jle 0x43a654
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46af74
push eax
call fcn.00404846
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
xor esi, esi
inc esi
jmp 0x43a073
cmp dword [esp + 0x28], 0
jne 0x43a340
push ecx
mov dword [esp + 0x34], esp
jmp 0x439dd8
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x28]
cmp eax, 1
je 0x43a355
cmp eax, 2
jne 0x43a63b
cmp dword [ecx + 0x34], 0
je 0x43a63b
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
mov eax, dword [eax]
cmp ecx, eax
je 0x43a3a7
cmp ecx, 4
jne 0x43a37a
cmp eax, 6
je 0x43a3a7
cmp eax, 2
je 0x43a3a7
cmp ecx, 2
jne 0x43a384
cmp eax, 3
je 0x43a3a7
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46af74
push eax
call fcn.00404846
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
cmp dword [edi], 5
jne 0x43a43d
mov eax, dword [esp + 0x1c]
cmp dword [eax], 5
jne 0x43a43d
mov eax, dword [edi + 8]
mov eax, dword [eax]
add eax, 0x28
mov eax, dword [eax]
sub eax, 0x10
call fcn.004015bb
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.00401485
test eax, eax
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x14]
setne byte [esp + 0x37]
add eax, 0xfffffff0
call fcn.0040178c
cmp byte [esp + 0x37], 0
je 0x43a43d
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43a61b
mov eax, dword [0x48220c]
mov esi, 0x48220c
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0xc0], 4
mov eax, dword [0x48220c]
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 0x43a499
push dword [edi + 0x10]
push dword [eax + 0x34]
push str._s__d_
jmp 0x43a4ab
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x43a4ba
push dword [ecx + 0x34]
push dword [eax + 0x34]
push str._s._s
lea eax, [esp + 0x20]
push eax
call fcn.0040447f
add esp, 0x10
jmp 0x43a4cf
push dword [eax + 0x34]
lea eax, [esp + 0x18]
push 0x46c7e8
push eax
call fcn.0040447f
add esp, 0xc
mov esi, dword [esp + 0x28]
cmp dword [esi + 0x34], 0
je 0x43a5a7
cmp dword [esi + 0x28], 2
jne 0x43a527
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.0043c959
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.0040447f
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x60]
add esp, 0x14
jmp 0x43a5e0
cmp dword [esi + 0x2c], 0
mov ecx, dword [esp + 0x1c]
je 0x43a56f
lea eax, [esp + 0x38]
push eax
call fcn.0043c959
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.0040447f
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x4c]
add esp, 0x14
jmp 0x43a5e0
lea eax, [esp + 0x54]
push eax
call fcn.0043c959
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.0040447f
mov byte [esp + 0xd0], 5
mov eax, dword [esp + 0x64]
add esp, 0x10
jmp 0x43a5e0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x7c]
push eax
call fcn.0043c959
mov byte [esp + 0xc0], 9
push dword [eax]
lea eax, [esp + 0x24]
push 0x47464c
push eax
call fcn.0040447f
mov byte [esp + 0xcc], 5
mov eax, dword [esp + 0x88]
add esp, 0xc
add eax, 0xfffffff0
call fcn.0040178c
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
push esi
push edi
push 0x474654
push dword [esp + 0x24]
call fcn.0043b513
add esp, 0x10
lea eax, [esi - 0x10]
call fcn.0040178c
lea eax, [edi - 0x10]
mov byte [esp + 0xc0], 2
call fcn.0040178c
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
call fcn.0043c730
lea ecx, [esp + 0x84]
mov esi, ebx
call fcn.0043c6a8
jmp 0x43a327
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46af74
push eax
call fcn.00404846
push 1
jmp 0x43a31b
cmp dword [esp + 0x28], 0
jne 0x43a67b
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46af74
push eax
call fcn.00404846
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
mov eax, dword [esi + 0x28]
cmp eax, 0x19
jne 0x43a7c7
mov edx, dword [edi]
push 2
pop ecx
cmp edx, ecx
jne 0x43a6a7
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43aaf6
mov eax, dword [eax + 8]
add eax, dword [edi + 8]
jmp 0x43a80d
mov eax, edi
call fcn.0043c946
test eax, eax
je 0x43a794
mov eax, dword [esp + 0x1c]
call fcn.0043c946
test eax, eax
je 0x43a722
push dword [esp + 0x1c]
lea esi, [esp + 0x78]
call fcn.0043c809
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x60]
mov byte [esp + 0xc4], 0xa
call fcn.0043c809
push ecx
mov byte [esp + 0xc4], 0xb
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.0040419e
pop ecx
pop ecx
mov edi, ebx
call fcn.0043c8f3
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
call fcn.0040178c
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x74]
jmp 0x43a780
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40]
push eax
call fcn.0043c959
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x40]
mov byte [esp + 0xc4], 0xc
call fcn.0043c809
push ecx
mov byte [esp + 0xc4], 0xd
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.0040419e
pop ecx
pop ecx
mov edi, ebx
call fcn.0043c8f3
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
call fcn.0040178c
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
call fcn.0040178c
mov edi, dword [esp + 0x24]
mov esi, dword [ebp + 8]
jmp 0x43ab19
push 3
pop ecx
cmp edx, ecx
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43a7ba
fild dword [eax + 8]
fadd qword [edi + 8]
mov dword [ebx], ecx
fstp qword [ebx + 8]
jmp 0x43ab19
cmp edx, ecx
jne 0x43aaf6
fld qword [eax + 8]
jmp 0x43a7ad
cmp eax, 0x1a
jne 0x43a7ee
push 2
pop edx
cmp dword [edi], edx
jne 0x43aaf6
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], edx
jne 0x43aaf6
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
jmp 0x43a8ed
cmp eax, 0x1b
jne 0x43a858
mov eax, dword [edi]
push 2
pop ecx
cmp eax, ecx
jne 0x43a82a
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, ecx
jne 0x43a817
mov eax, dword [eax + 8]
imul eax, dword [edi + 8]
mov dword [ebx], ecx
mov dword [ebx + 8], eax
jmp 0x43ab19
push 3
pop ecx
cmp edx, ecx
jne 0x43aaf6
fild dword [edi + 8]
fmul qword [eax + 8]
jmp 0x43a7b0
push 3
pop ecx
cmp eax, ecx
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43a84b
fild dword [eax + 8]
fmul qword [edi + 8]
jmp 0x43a7b0
cmp edx, ecx
jne 0x43aaf6
fld qword [eax + 8]
jmp 0x43a843
cmp eax, 0x1c
jne 0x43a8ca
mov eax, dword [edi]
cmp eax, 2
jne 0x43a896
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
cmp eax, 2
jne 0x43a87e
mov eax, dword [edi + 8]
cdq
idiv dword [ecx + 8]
mov dword [ebx], 2
jmp 0x43a80f
push 3
pop edx
cmp eax, edx
jne 0x43aaf6
fild dword [edi + 8]
fdiv qword [ecx + 8]
mov dword [ebx], edx
jmp 0x43a7b2
push 3
pop ecx
cmp eax, ecx
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43a8b7
fild dword [eax + 8]
fdivr qword [edi + 8]
jmp 0x43a7b0
cmp edx, ecx
jne 0x43aaf6
fld qword [edi + 8]
fdiv qword [eax + 8]
jmp 0x43a7b0
cmp eax, 5
jne 0x43a957
mov ecx, dword [esp + 0x1c]
push 2
pop edx
cmp dword [edi], edx
jne 0x43a8f4
cmp dword [ecx], edx
jne 0x43a8f4
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
neg eax
sbb eax, eax
inc eax
mov dword [ebx], edx
jmp 0x43a80f
mov eax, edi
call fcn.0043c946
test eax, eax
je 0x43aaf6
mov eax, ecx
call fcn.0043c946
test eax, eax
je 0x43aaf6
push dword [esp + 0x1c]
lea esi, [esp + 0x4c]
call fcn.0043c809
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.00401485
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 0x43a780
cmp eax, 6
jne 0x43a9e4
cmp dword [edi], 2
mov ecx, dword [esp + 0x1c]
jne 0x43a980
cmp dword [ecx], 2
jne 0x43a980
mov eax, dword [edi + 8]
xor edx, edx
cmp eax, dword [ecx + 8]
setne dl
mov eax, edx
jmp 0x43a876
mov eax, edi
call fcn.0043c946
test eax, eax
je 0x43aaf6
mov eax, ecx
call fcn.0043c946
test eax, eax
je 0x43aaf6
push dword [esp + 0x1c]
lea esi, [esp + 0x54]
call fcn.0043c809
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.00401485
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 0x43a780
cmp eax, 9
jne 0x43aa0f
cmp dword [edi], 2
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43aaf6
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setl dl
jmp 0x43a979
cmp eax, 0xa
jne 0x43aa3a
cmp dword [edi], 2
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43aaf6
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setg dl
jmp 0x43a979
cmp eax, 7
jne 0x43aa65
cmp dword [edi], 2
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43aaf6
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setle dl
jmp 0x43a979
cmp eax, 8
jne 0x43aa8c
cmp dword [edi], 2
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43aaf6
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setge dl
jmp 0x43a979
cmp eax, 0xb
jne 0x43aab5
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43aaf6
cmp dword [edi + 8], 0
jne 0x43aacf
xor eax, eax
jmp 0x43a80d
xor eax, eax
inc eax
jmp 0x43a80d
cmp eax, 0xc
jne 0x43aad7
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43aaf6
cmp dword [edi + 8], 0
jne 0x43aaad
cmp dword [eax + 8], 0
jne 0x43aaad
jmp 0x43aaa6
cmp eax, 0x20
jne 0x43aaf6
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43aaf6
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43aaf6
mov eax, dword [eax + 8]
or eax, dword [edi + 8]
jmp 0x43a80d
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46af74
push eax
call fcn.00404846
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.00439496
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43a327
mov eax, dword [0x48220c]
mov ecx, 0x48220c
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0xc0], 0x10
mov eax, dword [0x48220c]
mov ecx, 0x48220c
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 0x43ab7d
push eax
lea eax, [esp + 0x24]
push str._____s_
push eax
call fcn.0040447f
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x43ab9f
mov eax, dword [eax + 0x34]
test eax, eax
je 0x43ab9f
push eax
lea eax, [esp + 0x18]
push str._____s_
push eax
call fcn.0040447f
add esp, 0xc
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push eax
call fcn.0043c959
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x12
call fcn.0040419e
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.0043c959
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x14
call fcn.0040419e
pop ecx
pop ecx
mov edi, eax
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x15
call fcn.0043c959
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.0043b9f3
push eax
push edi
push edx
push 0x474684
push dword [esp + 0x2c]
call fcn.0043b513
mov eax, dword [esp + 0x70]
add esp, 0x18
add eax, 0xfffffff0
call fcn.0040178c
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
call fcn.0040178c
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
call fcn.0040178c
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
call fcn.0040178c
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
call fcn.0040178c
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.0040178c
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.0040178c
jmp 0x43a327