Function at 0x433a94
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 0x433fbd
mov edi, dword [ebx + 0x44]
test ebp, ebp
je 0x433fb6
mov edx, dword [ebp + 0x44]
movsx esi, byte [esp + 0x88]
test esi, esi
je 0x433b51
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 0x433ba2
mov esi, dword [esp + 0x40]
cmp esi, dword [ebp + 0xf0]
jne 0x433b9e
mov esi, dword [esp + 0x34]
cmp esi, dword [ebp + 0xf4]
jne 0x433b9a
mov esi, 1
jmp 0x433ba4
xor esi, esi
jmp 0x433ba4
xor esi, esi
jmp 0x433ba4
xor esi, esi
cmp byte [ebp + 0x102], 1
je 0x433f7c
test esi, esi
je 0x433eac
mov edx, dword [edx + 0xd0]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x48]
test edx, edx
je 0x433fc4
movzx edx, byte [edi + 0xa8]
mov byte [ebp + 0xa8], dl
movsx edx, byte [esp + 0x8c]
cmp edx, 0xa
je 0x433e4e
movsx edx, byte [esp + 0x8c]
cmp edx, 0x15
je 0x433d87
movsx edx, byte [esp + 0x8c]
cmp edx, 0x1f
je 0x433d33
movsx edx, byte [esp + 0x8c]
cmp edx, 0x29
je 0x433cdd
movsx edx, byte [esp + 0x8c]
cmp edx, 0x33
je 0x433c89
test esi, esi
je 0x433c69
cmp esi, 2
je 0x433c40
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 0x433c36
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.00433a0c
mov eax, ebx
call fcn.00410fd8
jmp 0x433c36
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.00433fe0
jmp 0x433c2d
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.004344e4
jmp 0x433c2d
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.00434924
jmp 0x433c2d
movzx edx, byte [0x5b9ad4]
test edx, edx
je 0x433dfd
movzx edx, byte [0x59c04c]
test edx, edx
je 0x433dfd
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.00461adc
jmp 0x433c2d
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.00460ef4
add esp, 0x30
jmp 0x433c2d
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.00460b48
jmp 0x433c2d
mov eax, dword [esp + 0x40]
lea edx, [eax + eax]
add edx, edx
cmp eax, 0x2000
jg 0x433f33
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.004704cc
mov ecx, dword [esp + 0x50]
add esp, 4
mov dword [esp + 0x48], eax
mov edx, eax
test edx, edx
jne 0x433bc3
mov edx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x44]
push edx
push 0
push 0x83c614
push 0x83b2b0
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edi
call fcn.0041fe58
mov ecx, dword [esp + 0x60]
push 0
push 1
push 0x1965e
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edi
call fcn.0046d58c
mov ecx, dword [esp + 0x6c]
add esp, 0x20
jmp 0x433bc3
mov edx, dword [esp + 0x34]
push edx
mov edx, eax
push edx
push 0x83c5ec
push 0x83b2b0
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.0046d5e8
mov ecx, dword [esp + 0x64]
add esp, 0x18
xor edx, edx
mov dword [esp + 0x48], edx
jmp 0x433bc3
movsx eax, byte [esp + 0x88]
test eax, eax
je 0x433bb1
mov eax, dword [esp + 0x40]
cmp eax, dword [ebp + 0xf0]
jge 0x433bb1
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp + 0xf4]
jge 0x433bb1
mov esi, 2
jmp 0x433bb1
xor edx, edx
jmp 0x433b43
xor edi, edi
jmp 0x433b38
mov eax, 0xffffffff
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret