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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x54
mov ebp, edx
mov ebx, eax
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov dword [esp + 0x30], edx
mov eax, 0x51eb851f
imul edi
sar edx, 5
sar edi, 0x1f
sub edx, edi
mov dword [esp + 0x44], edx
mov eax, 0x51eb851f
imul esi
sar edx, 5
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x38], edx
mov esi, dword [esp + 0x7c]
mov eax, 0x51eb851f
imul esi
sar edx, 5
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x3c], edx
mov esi, dword [esp + 0x80]
mov eax, 0x51eb851f
imul esi
sar edx, 5
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x40], edx
mov esi, dword [esp + 0x84]
mov eax, 0x51eb851f
imul esi
sar edx, 5
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x34], edx
test ebx, ebx
je 0x434051
mov edi, dword [ebx + 0x44]
test ebp, ebp
je 0x43404a
mov edx, dword [ebp + 0x44]
movsx esi, byte [esp + 0x88]
test esi, esi
je 0x433be5
mov ebx, ebp
mov ebp, dword [ebx + 0x44]
mov eax, ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edi
call fcn.00410fd8
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
movsx esi, byte [esp + 0x88]
test esi, esi
je 0x433c36
mov esi, dword [esp + 0x40]
cmp esi, dword [ebp + 0xf0]
jne 0x433c32
mov esi, dword [esp + 0x34]
cmp esi, dword [ebp + 0xf4]
jne 0x433c2e
mov esi, 1
jmp 0x433c38
xor esi, esi
jmp 0x433c38
xor esi, esi
jmp 0x433c38
xor esi, esi
cmp byte [ebp + 0x102], 1
je 0x434010
test esi, esi
je 0x433f40
mov edx, dword [edx + 0xd0]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x48]
test edx, edx
je 0x434058
movzx edx, byte [edi + 0xa8]
mov byte [ebp + 0xa8], dl
movsx edx, byte [esp + 0x8c]
cmp edx, 0xa
je 0x433ee2
movsx edx, byte [esp + 0x8c]
cmp edx, 0x15
je 0x433e1b
movsx edx, byte [esp + 0x8c]
cmp edx, 0x1f
je 0x433dc7
movsx edx, byte [esp + 0x8c]
cmp edx, 0x29
je 0x433d71
movsx edx, byte [esp + 0x8c]
cmp edx, 0x33
je 0x433d1d
test esi, esi
je 0x433cfd
cmp esi, 2
je 0x433cd4
xor eax, eax
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x40]
mov dword [ebp + 0x88], edx
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0x8c], ecx
mov dword [ebp + 0xf0], edx
mov dword [ebp + 0xf4], ecx
mov eax, ebx
call fcn.00410fd8
jmp 0x433cca
mov esi, dword [esp + 0x34]
mov dword [esp + 0xc], esi
mov eax, ebp
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
call fcn.00433aa0
mov eax, ebx
call fcn.00410fd8
jmp 0x433cca
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xd0]
mov ecx, dword [esp + 0x30]
call fcn.00434074
jmp 0x433cc1
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xd0]
call fcn.00434578
jmp 0x433cc1
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xd0]
mov ecx, dword [esp + 0x30]
call fcn.004349b8
jmp 0x433cc1
movzx edx, byte [0x5b85d4]
test edx, edx
je 0x433e91
movzx edx, byte [0x59b04c]
test edx, edx
je 0x433e91
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xd0]
call fcn.0046199c
jmp 0x433cc1
xor edx, edx
mov eax, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push eax
push dword [edi + 0xf4]
push dword [edi + 0xf0]
push edx
push edx
mov edx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push edx
push ecx
push dword [edi + 0xd0]
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00460db4
add esp, 0x30
jmp 0x433cc1
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xc0]
mov ecx, dword [esp + 0x30]
call fcn.00460a08
jmp 0x433cc1
mov eax, dword [esp + 0x40]
lea edx, [eax + eax]
add edx, edx
cmp eax, 0x2000
jg 0x433fc7
mov eax, dword [esp + 0x34]
imul eax, edx
lea edx, [eax + edx + 4]
push edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edi
call fcn.0046f50c
mov ecx, dword [esp + 0x50]
add esp, 4
mov dword [esp + 0x48], eax
mov edx, eax
test edx, edx
jne 0x433c57
mov edx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x44]
push edx
push 0
push 0x83b614
push 0x83a2b0
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edi
call fcn.0046d484
mov ecx, dword [esp + 0x60]
push 0
push 1
push 0x1965e
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edi
call fcn.0046c5c8
mov ecx, dword [esp + 0x6c]
add esp, 0x20
jmp 0x433c57
mov edx, dword [esp + 0x34]
push edx
mov edx, eax
push edx
push 0x83b5ec
push 0x83a2b0
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edi
call fcn.00409024
mov ecx, dword [esp + 0x5c]
push 1
push 0x186aa
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edi
call fcn.0046c624
mov ecx, dword [esp + 0x64]
add esp, 0x18
xor edx, edx
mov dword [esp + 0x48], edx
jmp 0x433c57
movsx eax, byte [esp + 0x88]
test eax, eax
je 0x433c45
mov eax, dword [esp + 0x40]
cmp eax, dword [ebp + 0xf0]
jge 0x433c45
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp + 0xf4]
jge 0x433c45
mov esi, 2
jmp 0x433c45
xor edx, edx
jmp 0x433bd7
xor edi, edi
jmp 0x433bcc
mov eax, 0xffffffff
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret