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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x466220
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x480070]
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, 0x46bf74
je 0x43a796
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push esi
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043a067
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x43a7c2
lea ecx, [edi + 0x38]
mov esi, ebx
call fcn.0043d1c8
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 0x43a8ee
cmp dword [edi + 0x34], 0
jne 0x43a7ed
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push esi
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043a067
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.0043cd7f
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43a838
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x34]
mov esi, dword [eax + 0x30]
call fcn.0043cd7f
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43a838
mov eax, dword [ebp + 0xc]
push ecx
mov esi, esp
mov dword [esp + 0x24], esp
call fcn.00439f1a
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043a067
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], eax
mov esi, dword [edi + 0x2c]
jmp 0x43a8e1
cmp dword [esi + 0x28], 3
jne 0x43a8be
mov eax, dword [ebx]
cmp eax, 7
jne 0x43a862
mov ecx, dword [ebx + 8]
call fcn.0043d319
cmp eax, 5
jne 0x43a8be
mov ecx, ebx
call fcn.0043d39a
mov edi, dword [eax + 8]
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push dword [esi + 0x34]
push eax
call fcn.00404808
call fcn.0043d033
mov edi, eax
test edi, edi
jne 0x43a8ac
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
mov eax, ebx
call fcn.0043d15f
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x43a8de
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
mov esi, dword [esi + 0x2c]
test esi, esi
jne 0x43a84d
jmp 0x43a7a7
cmp eax, 4
jne 0x43a963
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43a950
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x43a920
lea eax, [esp + 0x20]
push eax
call fcn.00436ce7
and dword [esp + 0xc0], 0
mov esi, dword [eax]
mov dword [esp + 0x14], 1
push esi
push dword [edi + 0x34]
push 0x4755a0
push dword [esp + 0x24]
call fcn.0043c0e4
or dword [esp + 0xd0], 0xffffffff
add esp, 0x10
test byte [esp + 0x14], 1
je 0x43a950
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.004017a1
push ebx
push dword [ebp + 0xc]
push edi
push dword [esp + 0x24]
call fcn.0043b86a
jmp 0x43a7aa
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 0x43a9f3
push ecx
mov dword [esp + 0x18], esp
mov eax, esp
push 0x46bf74
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.0043d15f
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.0043d15f
xor eax, eax
jmp 0x43a7aa
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x9c]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x34]
call fcn.0043a72f
test eax, eax
je 0x43a9c4
cmp dword [esp + 0x28], 0
je 0x43aa32
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x84]
push eax
push dword [ebp + 0xc]
push dword [esp + 0x30]
call fcn.0043a72f
test eax, eax
je 0x43a9c4
lea ecx, [esp + 0x9c]
call fcn.0043d39a
mov edi, eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x24], edi
call fcn.0043d39a
mov ecx, dword [esi + 0x28]
cmp ecx, 0x18
mov dword [esp + 0x1c], eax
jg 0x43aeb7
cmp ecx, 0x13
jge 0x43ad30
push 2
pop eax
cmp ecx, eax
je 0x43ac0c
cmp ecx, 4
jle 0x43aed5
cmp ecx, 0xe
jle 0x43b225
cmp ecx, 0x12
jg 0x43aed5
cmp dword [esp + 0x28], 0
je 0x43aab9
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46bf74
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
push 2
pop eax
cmp dword [edi], eax
je 0x43aae0
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0xf
jne 0x43aafb
cmp dword [edi], eax
jne 0x43ab77
mov ecx, dword [edi + 8]
lea edx, [ecx + 1]
mov dword [edi + 8], edx
jmp 0x43ab70
cmp ecx, 0x10
jne 0x43ab0c
cmp dword [edi], eax
jne 0x43ab77
mov ecx, dword [edi + 8]
lea edx, [ecx - 1]
jmp 0x43aaf6
cmp ecx, 0x11
jne 0x43ab23
cmp dword [edi], eax
jne 0x43ab77
inc dword [edi + 8]
mov dword [ebx], 7
mov dword [ebx + 8], edi
jmp 0x43ab9a
cmp ecx, 0x12
jne 0x43ab31
cmp dword [edi], eax
jne 0x43ab77
dec dword [edi + 8]
jmp 0x43ab18
cmp ecx, 0x15
jne 0x43ab3f
cmp dword [edi], eax
jne 0x43ab77
mov ecx, dword [edi + 8]
jmp 0x43ab70
cmp ecx, 0x16
jne 0x43ab4f
cmp dword [edi], eax
jne 0x43ab77
mov ecx, dword [edi + 8]
neg ecx
jmp 0x43ab70
cmp ecx, 0x17
jne 0x43ab5f
cmp dword [edi], eax
jne 0x43ab77
mov ecx, dword [edi + 8]
not ecx
jmp 0x43ab70
cmp ecx, 0x18
jne 0x43ab77
cmp dword [edi], eax
jne 0x43ab77
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x43ab9a
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43aef8
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call fcn.0043d479
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0xc4], 0x17
call fcn.00436ce7
mov byte [esp + 0xc0], 0x18
mov edi, dword [edi]
mov eax, dword [eax]
push edi
push eax
mov eax, dword [esi + 0x28]
call fcn.0043c527
push eax
push 0x47567c
push dword [esp + 0x28]
call fcn.0043c0e4
mov eax, dword [esp + 0x80]
add esp, 0x14
add eax, 0xfffffff0
call fcn.004017a1
mov eax, dword [esp + 0x78]
jmp 0x43b85d
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x34]
mov esi, dword [ebp + 0xc]
call fcn.0043cd7f
mov esi, eax
test esi, esi
jne 0x43ac73
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043a067
lea eax, [esp + 0x84]
mov byte [esp + 0xc0], 1
call fcn.0043d15f
or dword [esp + 0xc0], 0xffffffff
lea eax, [esp + 0x9c]
call fcn.0043d15f
mov eax, esi
jmp 0x43a7aa
cmp dword [esi], 8
je 0x43ac9b
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 0x132
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043a067
mov eax, dword [esp + 0x24]
cmp dword [eax], 2
je 0x43acc7
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 0x12f
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043a067
cmp dword [esi], 8
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], ecx
je 0x43acdb
xor esi, esi
jmp 0x43acf8
test ecx, ecx
jl 0x43acf2
mov eax, dword [esi + 8]
cmp ecx, dword [eax]
jge 0x43acf2
mov esi, dword [esp + 0x14]
imul esi, esi, 0x18
add esi, dword [eax + 4]
jmp 0x43acf4
xor esi, esi
test esi, esi
jne 0x43ad1b
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push 0x46bf74
push eax
call fcn.00404808
push 0x133
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.0043a067
mov eax, dword [esp + 0x14]
mov dword [ebx], 7
mov dword [ebx + 8], esi
mov dword [ebx + 0x10], eax
jmp 0x43aef8
je 0x43ad37
cmp ecx, 0x14
jne 0x43ad5a
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46bf74
push eax
call fcn.00404808
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
cmp dword [esp + 0x28], 0
je 0x43ad81
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
push 2
pop eax
cmp dword [edi], eax
je 0x43adab
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
push 2
pop eax
mov ecx, dword [esi + 0x28]
cmp ecx, 0x15
jne 0x43adbc
cmp dword [edi], eax
jne 0x43adf4
mov ecx, dword [edi + 8]
jmp 0x43aded
cmp ecx, 0x16
jne 0x43adcc
cmp dword [edi], eax
jne 0x43adf4
mov ecx, dword [edi + 8]
neg ecx
jmp 0x43aded
cmp ecx, 0x17
jne 0x43addc
cmp dword [edi], eax
jne 0x43adf4
mov ecx, dword [edi + 8]
not ecx
jmp 0x43aded
cmp ecx, 0x18
jne 0x43adf4
cmp dword [edi], eax
jne 0x43adf4
xor ecx, ecx
cmp dword [edi + 8], ecx
sete cl
mov dword [ebx], eax
mov dword [ebx + 8], ecx
jmp 0x43ae17
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43aef8
lea eax, [esp + 0x80]
push eax
mov ecx, edi
call fcn.0043d479
mov edi, eax
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0xc4], 0x19
call fcn.00436ce7
mov dword [esp + 0x14], eax
lea eax, [esp + 0x64]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x1a
call fcn.0043d479
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.0043c527
push eax
push edx
push 0x4756ac
push dword [esp + 0x2c]
call fcn.0043c0e4
mov eax, dword [esp + 0x7c]
add esp, 0x18
add eax, 0xfffffff0
call fcn.004017a1
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
call fcn.004017a1
mov eax, dword [esp + 0x80]
jmp 0x43b85d
cmp ecx, 0x19
jl 0x43aed5
cmp ecx, 0x1d
jle 0x43b225
cmp ecx, 0x1e
je 0x43af00
jle 0x43aed5
cmp ecx, 0x21
jle 0x43b225
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46bf74
push eax
call fcn.00404808
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
xor esi, esi
inc esi
jmp 0x43ac44
cmp dword [esp + 0x28], 0
jne 0x43af11
push ecx
mov dword [esp + 0x34], esp
jmp 0x43a9a9
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x28]
cmp eax, 1
je 0x43af26
cmp eax, 2
jne 0x43b20c
cmp dword [ecx + 0x34], 0
je 0x43b20c
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
mov eax, dword [eax]
cmp ecx, eax
je 0x43af78
cmp ecx, 4
jne 0x43af4b
cmp eax, 6
je 0x43af78
cmp eax, 2
je 0x43af78
cmp ecx, 2
jne 0x43af55
cmp eax, 3
je 0x43af78
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46bf74
push eax
call fcn.00404808
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
cmp dword [edi], 5
jne 0x43b00e
mov eax, dword [esp + 0x1c]
cmp dword [eax], 5
jne 0x43b00e
mov eax, dword [edi + 8]
mov eax, dword [eax]
add eax, 0x28
mov eax, dword [eax]
sub eax, 0x10
call fcn.004015c5
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.0040148f
test eax, eax
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x14]
setne byte [esp + 0x37]
add eax, 0xfffffff0
call fcn.004017a1
cmp byte [esp + 0x37], 0
je 0x43b00e
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 0x12d
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43b1ec
mov eax, dword [0x4831ec]
mov esi, 0x4831ec
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0xc0], 4
mov eax, dword [0x4831ec]
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 0x43b06a
push dword [edi + 0x10]
push dword [eax + 0x34]
push str._s__d_
jmp 0x43b07c
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x43b08b
push dword [ecx + 0x34]
push dword [eax + 0x34]
push str._s._s
lea eax, [esp + 0x20]
push eax
call fcn.00404441
add esp, 0x10
jmp 0x43b0a0
push dword [eax + 0x34]
lea eax, [esp + 0x18]
push 0x46d7e8
push eax
call fcn.00404441
add esp, 0xc
mov esi, dword [esp + 0x28]
cmp dword [esi + 0x34], 0
je 0x43b178
cmp dword [esi + 0x28], 2
jne 0x43b0f8
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.0043d479
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.00404441
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x60]
add esp, 0x14
jmp 0x43b1b1
cmp dword [esi + 0x2c], 0
mov ecx, dword [esp + 0x1c]
je 0x43b140
lea eax, [esp + 0x38]
push eax
call fcn.0043d479
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.00404441
mov byte [esp + 0xd4], 5
mov eax, dword [esp + 0x4c]
add esp, 0x14
jmp 0x43b1b1
lea eax, [esp + 0x54]
push eax
call fcn.0043d479
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.00404441
mov byte [esp + 0xd0], 5
mov eax, dword [esp + 0x64]
add esp, 0x10
jmp 0x43b1b1
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x7c]
push eax
call fcn.0043d479
mov byte [esp + 0xc0], 9
push dword [eax]
lea eax, [esp + 0x24]
push 0x47561c
push eax
call fcn.00404441
mov byte [esp + 0xcc], 5
mov eax, dword [esp + 0x88]
add esp, 0xc
add eax, 0xfffffff0
call fcn.004017a1
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
push esi
push edi
push 0x475624
push dword [esp + 0x24]
call fcn.0043c0e4
add esp, 0x10
lea eax, [esi - 0x10]
call fcn.004017a1
lea eax, [edi - 0x10]
mov byte [esp + 0xc0], 2
call fcn.004017a1
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
call fcn.0043d250
lea ecx, [esp + 0x84]
mov esi, ebx
call fcn.0043d1c8
jmp 0x43aef8
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46bf74
push eax
call fcn.00404808
push 1
jmp 0x43aeec
cmp dword [esp + 0x28], 0
jne 0x43b24c
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push 0x46bf74
push eax
call fcn.00404808
push 1
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
mov eax, dword [esi + 0x28]
cmp eax, 0x19
jne 0x43b398
mov edx, dword [edi]
push 2
pop ecx
cmp edx, ecx
jne 0x43b278
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43b6c7
mov eax, dword [eax + 8]
add eax, dword [edi + 8]
jmp 0x43b3de
mov eax, edi
call fcn.0043d466
test eax, eax
je 0x43b365
mov eax, dword [esp + 0x1c]
call fcn.0043d466
test eax, eax
je 0x43b2f3
push dword [esp + 0x1c]
lea esi, [esp + 0x78]
call fcn.0043d329
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x60]
mov byte [esp + 0xc4], 0xa
call fcn.0043d329
push ecx
mov byte [esp + 0xc4], 0xb
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.00404160
pop ecx
pop ecx
mov edi, ebx
call fcn.0043d413
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
call fcn.004017a1
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x74]
jmp 0x43b351
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x40]
push eax
call fcn.0043d479
mov edi, eax
push dword [esp + 0x24]
lea esi, [esp + 0x40]
mov byte [esp + 0xc4], 0xc
call fcn.0043d329
push ecx
mov byte [esp + 0xc4], 0xd
mov ecx, esp
mov dword [esp + 0x18], esp
push edi
push ecx
mov ecx, eax
call fcn.00404160
pop ecx
pop ecx
mov edi, ebx
call fcn.0043d413
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
call fcn.004017a1
mov byte [esp + 0xc0], 2
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
call fcn.004017a1
mov edi, dword [esp + 0x24]
mov esi, dword [ebp + 8]
jmp 0x43b6ea
push 3
pop ecx
cmp edx, ecx
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43b38b
fild dword [eax + 8]
fadd qword [edi + 8]
mov dword [ebx], ecx
fstp qword [ebx + 8]
jmp 0x43b6ea
cmp edx, ecx
jne 0x43b6c7
fld qword [eax + 8]
jmp 0x43b37e
cmp eax, 0x1a
jne 0x43b3bf
push 2
pop edx
cmp dword [edi], edx
jne 0x43b6c7
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], edx
jne 0x43b6c7
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
jmp 0x43b4be
cmp eax, 0x1b
jne 0x43b429
mov eax, dword [edi]
push 2
pop ecx
cmp eax, ecx
jne 0x43b3fb
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, ecx
jne 0x43b3e8
mov eax, dword [eax + 8]
imul eax, dword [edi + 8]
mov dword [ebx], ecx
mov dword [ebx + 8], eax
jmp 0x43b6ea
push 3
pop ecx
cmp edx, ecx
jne 0x43b6c7
fild dword [edi + 8]
fmul qword [eax + 8]
jmp 0x43b381
push 3
pop ecx
cmp eax, ecx
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43b41c
fild dword [eax + 8]
fmul qword [edi + 8]
jmp 0x43b381
cmp edx, ecx
jne 0x43b6c7
fld qword [eax + 8]
jmp 0x43b414
cmp eax, 0x1c
jne 0x43b49b
mov eax, dword [edi]
cmp eax, 2
jne 0x43b467
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
cmp eax, 2
jne 0x43b44f
mov eax, dword [edi + 8]
cdq
idiv dword [ecx + 8]
mov dword [ebx], 2
jmp 0x43b3e0
push 3
pop edx
cmp eax, edx
jne 0x43b6c7
fild dword [edi + 8]
fdiv qword [ecx + 8]
mov dword [ebx], edx
jmp 0x43b383
push 3
pop ecx
cmp eax, ecx
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
cmp edx, 2
jne 0x43b488
fild dword [eax + 8]
fdivr qword [edi + 8]
jmp 0x43b381
cmp edx, ecx
jne 0x43b6c7
fld qword [edi + 8]
fdiv qword [eax + 8]
jmp 0x43b381
cmp eax, 5
jne 0x43b528
mov ecx, dword [esp + 0x1c]
push 2
pop edx
cmp dword [edi], edx
jne 0x43b4c5
cmp dword [ecx], edx
jne 0x43b4c5
mov eax, dword [edi + 8]
sub eax, dword [ecx + 8]
neg eax
sbb eax, eax
inc eax
mov dword [ebx], edx
jmp 0x43b3e0
mov eax, edi
call fcn.0043d466
test eax, eax
je 0x43b6c7
mov eax, ecx
call fcn.0043d466
test eax, eax
je 0x43b6c7
push dword [esp + 0x1c]
lea esi, [esp + 0x4c]
call fcn.0043d329
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.0040148f
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 0x43b351
cmp eax, 6
jne 0x43b5b5
cmp dword [edi], 2
mov ecx, dword [esp + 0x1c]
jne 0x43b551
cmp dword [ecx], 2
jne 0x43b551
mov eax, dword [edi + 8]
xor edx, edx
cmp eax, dword [ecx + 8]
setne dl
mov eax, edx
jmp 0x43b447
mov eax, edi
call fcn.0043d466
test eax, eax
je 0x43b6c7
mov eax, ecx
call fcn.0043d466
test eax, eax
je 0x43b6c7
push dword [esp + 0x1c]
lea esi, [esp + 0x54]
call fcn.0043d329
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.0040148f
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 0x43b351
cmp eax, 9
jne 0x43b5e0
cmp dword [edi], 2
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43b6c7
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setl dl
jmp 0x43b54a
cmp eax, 0xa
jne 0x43b60b
cmp dword [edi], 2
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43b6c7
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setg dl
jmp 0x43b54a
cmp eax, 7
jne 0x43b636
cmp dword [edi], 2
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43b6c7
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setle dl
jmp 0x43b54a
cmp eax, 8
jne 0x43b65d
cmp dword [edi], 2
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
cmp dword [eax], 2
jne 0x43b6c7
mov ecx, dword [edi + 8]
xor edx, edx
cmp ecx, dword [eax + 8]
setge dl
jmp 0x43b54a
cmp eax, 0xb
jne 0x43b686
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43b6c7
cmp dword [edi + 8], 0
jne 0x43b6a0
xor eax, eax
jmp 0x43b3de
xor eax, eax
inc eax
jmp 0x43b3de
cmp eax, 0xc
jne 0x43b6a8
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43b6c7
cmp dword [edi + 8], 0
jne 0x43b67e
cmp dword [eax + 8], 0
jne 0x43b67e
jmp 0x43b677
cmp eax, 0x20
jne 0x43b6c7
push 2
pop ecx
cmp dword [edi], ecx
jne 0x43b6c7
mov eax, dword [esp + 0x1c]
cmp dword [eax], ecx
jne 0x43b6c7
mov eax, dword [eax + 8]
or eax, dword [edi + 8]
jmp 0x43b3de
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push 0x46bf74
push eax
call fcn.00404808
push 0xc8
push dword [esp + 0x20]
lea ecx, [esi + 8]
call fcn.0043a067
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x43aef8
mov eax, dword [0x4831ec]
mov ecx, 0x4831ec
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0xc0], 0x10
mov eax, dword [0x4831ec]
mov ecx, 0x4831ec
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 0x43b74e
push eax
lea eax, [esp + 0x24]
push str._____s_
push eax
call fcn.00404441
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x43b770
mov eax, dword [eax + 0x34]
test eax, eax
je 0x43b770
push eax
lea eax, [esp + 0x18]
push str._____s_
push eax
call fcn.00404441
add esp, 0xc
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x30]
push eax
call fcn.0043d479
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x12
call fcn.00404160
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.0043d479
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
mov byte [esp + 0xc8], 0x14
call fcn.00404160
pop ecx
pop ecx
mov edi, eax
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
mov byte [esp + 0xc4], 0x15
call fcn.0043d479
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.0043c527
push eax
push edi
push edx
push 0x475654
push dword [esp + 0x2c]
call fcn.0043c0e4
mov eax, dword [esp + 0x70]
add esp, 0x18
add eax, 0xfffffff0
call fcn.004017a1
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
call fcn.004017a1
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
call fcn.004017a1
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
call fcn.004017a1
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
call fcn.004017a1
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
call fcn.004017a1
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
call fcn.004017a1
jmp 0x43aef8