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

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, dword [esp + 0x20]
xor ebx, ebx
push edi
cmp esi, ebx
jne 0x40336e
pop edi
pop esi
pop ebp
mov eax, 0xffffff9a
pop ebx
add esp, 0x10
ret
cmp dword [esi + 0x18], ebx
jne 0x403380
pop edi
pop esi
pop ebp
mov eax, 0xffffff9a
pop ebx
add esp, 0x10
ret
cmp dword [esi + 0x7c], ebx
je 0x40338e
push esi
call fcn.00403a10
add esp, 4
lea eax, [esp + 0x18]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x14]
push ecx
push edx
push esi
call fcn.004035d0
add esp, 0x10
test eax, eax
je 0x4033b7
pop edi
pop esi
pop ebp
mov eax, 0xffffff99
pop ebx
add esp, 0x10
ret
push 0x6c
call fcn.004070a9
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x4033d4
pop edi
pop esi
pop ebp
mov eax, 0xffffff98
pop ebx
add esp, 0x10
ret
push 0x4000
call fcn.004070a9
mov dword [edi], eax
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x44], ecx
mov edx, dword [esp + 0x1c]
add esp, 4
cmp eax, ebx
mov dword [edi + 0x48], edx
mov dword [edi + 0x4c], ebx
jne 0x40340e
push edi
call fcn.004071e7
add esp, 4
mov eax, 0xffffff98
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov dword [edi + 0x40], ebx
mov ecx, dword [esi + 0x34]
xor eax, eax
cmp ecx, ebx
mov ecx, dword [esi + 0x3c]
mov dword [edi + 0x50], ebx
mov dword [edi + 0x54], ecx
mov edx, dword [esi + 0x34]
sete al
mov dword [esp + 0x1c], eax
mov dword [edi + 0x64], edx
mov eax, dword [esi]
mov dword [edi + 0x60], eax
mov ecx, dword [esi + 0xc]
mov dword [edi + 0x68], ecx
mov dword [edi + 0x18], ebx
test byte [esi + 0x30], 1
je 0x40355d
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
jne 0x40345c
pop edi
pop esi
pop ebp
mov eax, 0xfffffff5
pop ebx
add esp, 0x10
ret
push eax
call fcn.004012b0
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x78]
add edx, eax
mov eax, dword [esi]
push ebx
push edx
push eax
call fcn.0040715b
mov ecx, dword [esi]
push ecx
call fcn.004012f0
add esp, 0x14
cmp eax, 0x4034b50
je 0x403493
pop edi
pop esi
pop ebp
mov eax, 0xfffffff3
pop ebx
add esp, 0x10
ret
mov edx, dword [esi]
push 1
push 0xa
push edx
call fcn.0040715b
mov eax, dword [esi]
push eax
call fcn.004012f0
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x78]
add ecx, eax
push ebx
lea eax, [ecx + edx + 0x1e]
mov ecx, dword [esi]
push eax
push ecx
call fcn.0040715b
add esp, 0x1c
mov ebp, 0xc
jmp 0x4034d1
xor ebx, ebx
mov eax, dword [esi]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [esi]
cmp dword [eax + 4], ebx
jl 0x4034ee
mov ecx, dword [eax]
mov bl, byte [ecx]
inc ecx
mov byte [esp + 0x24], bl
mov dword [eax], ecx
jmp 0x4034fd
push eax
call fcn.004073a8
mov bl, al
add esp, 4
mov byte [esp + 0x24], bl
mov edx, dword [esp + 0x24]
and edx, 0xff
cmp edx, 0xffffffff
je 0x40354e
call fcn.00401220
xor bl, al
mov byte [esp + 0x24], bl
mov eax, dword [esp + 0x24]
and eax, 0xff
push eax
call fcn.00401240
add esp, 4
dec ebp
jne 0x4034cf
mov ecx, dword [esp + 0x28]
shr ecx, 0x18
cmp bl, cl
je 0x40355b
mov edx, dword [esi + 0x38]
shr edx, 8
cmp dl, bl
je 0x40355b
pop edi
pop esi
pop ebp
mov eax, 0xfffffff6
pop ebx
add esp, 0x10
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x10
ret
xor ebx, ebx
cmp dword [esp + 0x1c], ebx
jne 0x40358c
push 0x38
push str.1.1.3
lea eax, [edi + 4]
push 0xfffffffffffffff1
push eax
mov dword [edi + 0x24], ebx
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], ebx
call fcn.00403b40
add esp, 0x10
test eax, eax
jne 0x40358c
mov dword [edi + 0x40], 1
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x40]
and cl, 1
neg cl
sbb ecx, ecx
and ecx, 0xc
sub edx, ecx
mov dword [edi + 0x58], edx
mov eax, dword [esi + 0x44]
mov dword [edi + 0x5c], eax
mov ecx, dword [esi + 0x78]
mov edx, dword [esp + 0x10]
mov dword [edi + 8], ebx
lea eax, [ecx + edx + 0x1e]
mov dword [edi + 0x3c], eax
mov dword [esi + 0x7c], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret