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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x52ff2b
push eax
mov dword fs:[0], esp
sub esp, 0x558
push ebp
mov ebp, ecx
call fcn.004327a0
test eax, eax
jne 0x43297d
pop ebp
mov ecx, dword [esp + 0x558]
mov dword fs:[0], ecx
add esp, 0x564
ret
mov cl, byte [ebp + 0x22c]
or eax, 0xffffffff
push ebx
push esi
test cl, 1
je 0x433085
mov esi, dword [ebp + 0x230]
xor ebx, ebx
cmp esi, ebx
mov dword [esp + 0x44], esi
jl 0x433085
push edi
push ebx
lea ecx, [esp + 0x68]
mov dword [esp + 0x48], ebx
call fcn.004c89e0
push esi
lea ecx, [esp + 0x68]
mov dword [esp + 0x574], ebx
call fcn.004c9e20
mov al, byte [ebp + 0x22c]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x10], esi
test al, 2
mov dword [esp + 0x14], ecx
je 0x432e98
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x18]
mov bx, word [esp + 0x36]
mov di, word [esp + 0x34]
mov dword [esp + 0x38], ecx
mov dx, word [esp + 0x38]
movsx ecx, word [eax + 0x12]
movsx eax, word [eax + 0x10]
add word [esp + 0x3a], cx
add bx, cx
movsx ecx, word [0x8d72dc]
add di, ax
add dx, ax
movsx eax, word [0x8d72de]
mov word [esp + 0x1c], cx
lea ecx, [esp + 0x24]
movsx esi, dx
mov word [esp + 0x1e], ax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1c]
push ecx
push edx
lea ecx, [esp + 0x54]
mov dword [esp + 0x2c], eax
mov word [esp + 0x24], si
mov word [esp + 0x26], 0
call fcn.004b4a30
movsx eax, word [esp + 0x16]
movsx ecx, word [esp + 0x12]
movsx edx, word [esp + 0x14]
sub eax, ecx
lea ecx, [esp + 0x24]
inc eax
push eax
movsx eax, word [esp + 0x14]
sub edx, eax
inc edx
push edx
push 0
push 0
call fcn.004b4a60
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 4]
movsx eax, word [esp + 0x52]
movsx ecx, word [esp + 0x4e]
sub eax, ecx
mov dword [esp + 0x30], edx
movsx edx, word [esp + 0x50]
inc eax
lea ecx, [esp + 0x1c]
push eax
movsx eax, word [esp + 0x50]
sub edx, eax
inc edx
push edx
push 0
push 0
call fcn.004b4a60
mov ecx, dword [eax]
push 0
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 4]
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x48], edx
call fcn.004b4b50
test al, al
je 0x432b26
movsx ecx, si
push ecx
lea ecx, [esp + 0x14]
movsx edi, bx
call fcn.004330a0
movsx edx, di
push edx
lea ecx, [esp + 0x14]
call fcn.004330c0
mov cx, word [esp + 0x16]
movsx eax, word [0x8d72de]
movsx edx, cx
sub eax, edx
mov edx, 0
setns dl
dec edx
and eax, edx
add word [esp + 0x12], ax
add cx, ax
mov word [esp + 0x16], cx
jmp 0x432f8b
movsx ecx, word [0x8d72dc]
movsx eax, word [0x8d72de]
movsx esi, word [esp + 0x3a]
mov word [esp + 0x1c], cx
lea ecx, [esp + 0x24]
mov word [esp + 0x1e], ax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1c]
push ecx
push edx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov word [esp + 0x24], 0
mov word [esp + 0x26], si
call fcn.004b4a30
movsx eax, word [esp + 0x16]
movsx ecx, word [esp + 0x12]
movsx edx, word [esp + 0x14]
sub eax, ecx
lea ecx, [esp + 0x24]
inc eax
push eax
movsx eax, word [esp + 0x14]
sub edx, eax
inc edx
push edx
push 0
push 0
call fcn.004b4a60
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 4]
movsx eax, word [esp + 0x3a]
movsx ecx, word [esp + 0x36]
sub eax, ecx
mov dword [esp + 0x30], edx
movsx edx, word [esp + 0x38]
inc eax
lea ecx, [esp + 0x1c]
push eax
movsx eax, word [esp + 0x38]
sub edx, eax
inc edx
push edx
push 0
push 0
call fcn.004b4a60
mov ecx, dword [eax]
push 0
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x40]
mov edx, dword [eax + 4]
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x48], edx
call fcn.004b4b50
test al, al
je 0x432c0c
movsx eax, di
movsx ecx, ax
push ecx
lea ecx, [esp + 0x14]
call fcn.004330a0
movsx edx, si
push edx
lea ecx, [esp + 0x14]
call fcn.004330c0
jmp 0x432e19
movsx eax, word [0x8d72de]
movsx esi, di
mov word [esp + 0x1e], ax
mov al, byte [0x8fa7d6]
test al, 1
mov word [esp + 0x1c], si
jne 0x432c53
mov dl, al
xor edi, edi
or dl, 1
push fcn.00402b00
mov byte [0x8fa7d6], dl
mov word [0x8fa7d8], di
mov word [0x8fa7da], di
call fcn.0051c6ca
add esp, 4
jmp 0x432c55
xor edi, edi
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x3c]
push eax
push 0x8fa7d8
call fcn.004b4a30
movsx ecx, word [esp + 0x16]
movsx edx, word [esp + 0x12]
movsx eax, word [esp + 0x14]
sub ecx, edx
inc ecx
push ecx
movsx ecx, word [esp + 0x14]
sub eax, ecx
lea ecx, [esp + 0x20]
inc eax
push eax
push edi
push edi
call fcn.004b4a60
mov edx, dword [eax]
movsx ecx, word [esp + 0x42]
mov dword [esp + 0x2c], edx
mov eax, dword [eax + 4]
movsx edx, word [esp + 0x3e]
sub ecx, edx
mov dword [esp + 0x30], eax
movsx eax, word [esp + 0x40]
inc ecx
push ecx
movsx ecx, word [esp + 0x40]
sub eax, ecx
lea ecx, [esp + 0x58]
inc eax
push eax
push edi
push edi
call fcn.004b4a60
mov edx, dword [eax]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x24], edx
push edi
mov eax, dword [eax + 4]
push ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], eax
call fcn.004b4b50
test al, al
je 0x432d2e
movsx edx, si
push edx
lea ecx, [esp + 0x14]
movsx edi, bx
call fcn.004330e0
movsx eax, di
push eax
lea ecx, [esp + 0x14]
call fcn.004330c0
mov cx, word [esp + 0x16]
movsx eax, word [0x8d72de]
movsx edx, cx
sub eax, edx
mov edx, 0
setns dl
dec edx
and eax, edx
add word [esp + 0x12], ax
add cx, ax
mov word [esp + 0x16], cx
jmp 0x432f8b
movsx eax, word [0x8d72dc]
movsx ebx, bx
mov word [esp + 0x1c], ax
mov al, byte [0x8fa7d6]
test al, 1
mov word [esp + 0x1e], bx
jne 0x432d71
mov dl, al
push fcn.00402b00
or dl, 1
mov word [0x8fa7d8], di
mov byte [0x8fa7d6], dl
mov word [0x8fa7da], di
call fcn.0051c6ca
add esp, 4
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x2c]
push eax
push 0x8fa7d8
call fcn.004b4a30
movsx ecx, word [esp + 0x16]
movsx edx, word [esp + 0x12]
movsx eax, word [esp + 0x14]
sub ecx, edx
inc ecx
push ecx
movsx ecx, word [esp + 0x14]
sub eax, ecx
lea ecx, [esp + 0x58]
inc eax
push eax
push edi
push edi
call fcn.004b4a60
mov edx, dword [eax]
movsx ecx, word [esp + 0x32]
mov dword [esp + 0x24], edx
mov eax, dword [eax + 4]
movsx edx, word [esp + 0x2e]
sub ecx, edx
mov dword [esp + 0x28], eax
movsx eax, word [esp + 0x30]
inc ecx
push ecx
movsx ecx, word [esp + 0x30]
sub eax, ecx
lea ecx, [esp + 0x60]
inc eax
push eax
push edi
push edi
call fcn.004b4a60
mov edx, dword [eax]
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], edx
push edi
mov eax, dword [eax + 4]
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], eax
call fcn.004b4b50
test al, al
je 0x432e47
movsx edx, si
push edx
lea ecx, [esp + 0x14]
call fcn.004330a0
movsx eax, bx
push eax
lea ecx, [esp + 0x14]
call fcn.00433100
mov cx, word [esp + 0x14]
movsx eax, word [0x8d72dc]
movsx edx, cx
sub eax, edx
mov edx, 0
setns dl
dec edx
and eax, edx
add word [esp + 0x10], ax
add cx, ax
mov word [esp + 0x14], cx
jmp 0x432f8b
movsx eax, word [0x8d72da]
movsx ecx, word [0x8d72de]
add eax, ecx
cdq
sub eax, edx
movsx edx, word [0x8d72dc]
mov ecx, eax
movsx eax, word [0x8d72d8]
add eax, edx
cdq
sar ecx, 1
sub eax, edx
mov word [esp + 0x1e], cx
sar eax, 1
lea ecx, [esp + 0x24]
mov word [esp + 0x1c], ax
mov eax, dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], eax
call fcn.004b4a90
jmp 0x432f8b
mov eax, dword [ebp + 0x234]
sub eax, ebx
je 0x432eed
dec eax
je 0x432ebf
dec eax
jne 0x432f02
movsx eax, word [0x8d72dc]
sub esi, ecx
mov word [esp + 0x14], ax
add esi, eax
mov word [esp + 0x10], si
jmp 0x432f02
movsx eax, word [0x8d72d8]
movsx edx, word [0x8d72dc]
add eax, edx
cdq
sub eax, edx
mov edi, eax
movsx edx, si
movsx eax, cx
sub eax, edx
sar edi, 1
inc eax
cdq
sub eax, edx
mov edx, eax
movsx eax, di
sar edx, 1
sub eax, edx
jmp 0x432ef4
movsx eax, word [0x8d72d8]
sub ecx, esi
mov word [esp + 0x10], ax
add ecx, eax
mov word [esp + 0x14], cx
mov eax, dword [ebp + 0x238]
sub eax, ebx
je 0x432f72
dec eax
je 0x432f2d
dec eax
jne 0x432f8b
movsx eax, word [0x8d72de]
mov esi, dword [esp + 0x16]
mov ecx, eax
sub ecx, esi
mov word [esp + 0x16], ax
add word [esp + 0x12], cx
jmp 0x432f8b
movsx eax, word [0x8d72da]
movsx edx, word [0x8d72de]
mov si, word [esp + 0x16]
add eax, edx
cdq
sub eax, edx
mov edi, dword [esp + 0x12]
movsx edx, word [esp + 0x12]
mov ecx, eax
movsx eax, si
sub eax, edx
sar ecx, 1
inc eax
cdq
sub eax, edx
mov edx, eax
movsx eax, cx
sar edx, 1
sub eax, edx
mov ecx, eax
sub ecx, edi
add si, cx
mov word [esp + 0x16], si
jmp 0x432f86
movsx eax, word [0x8d72da]
mov esi, dword [esp + 0x12]
mov edx, eax
sub edx, esi
add word [esp + 0x16], dx
mov word [esp + 0x12], ax
mov ecx, dword [esp + 0x48]
mov ebp, dword [ebp + 0x18]
lea eax, [esp + 0x10]
push 0
push eax
push ecx
mov ecx, ebp
call fcn.004c9b10
test eax, eax
je 0x432fad
mov dword [esp + 0x44], 1
mov eax, dword [0x652c20]
mov ecx, dword [0x652c24]
mov edx, eax
sub edx, ecx
add edx, 0x20
and edx, 0x8000001f
jns 0x432fcc
dec edx
or edx, 0xffffffe0
inc edx
dec edx
mov dword [esp + 0x1c], edx
js 0x43306c
cmp eax, ecx
je 0x43306c
mov edx, ecx
shl edx, 4
add edx, 0x652a20
inc ecx
mov ebx, edx
cmp ecx, 0x20
mov edx, dword [ebx]
mov esi, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
jl 0x432fff
xor ecx, ecx
cmp esi, 0x103
mov dword [0x652c24], ecx
jne 0x43301e
test edx, edx
je 0x43301e
movsx ebp, word [edx + 0x8a]
cmp ebp, dword [esp + 0x48]
je 0x43305d
lea ebp, [eax + 1]
and ebp, 0x8000001f
jns 0x43302e
dec ebp
or ebp, 0xffffffe0
inc ebp
cmp ebp, ecx
je 0x43305d
shl eax, 4
add eax, 0x652a20
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov eax, dword [0x652c20]
inc eax
cmp eax, 0x20
jl 0x433052
xor eax, eax
mov ecx, dword [0x652c24]
mov dword [0x652c20], eax
mov edx, dword [esp + 0x1c]
dec edx
mov dword [esp + 0x1c], edx
jns 0x432fd7
lea ecx, [esp + 0x64]
mov dword [esp + 0x570], 0xffffffff
call fcn.004c8b70
mov eax, dword [esp + 0x44]
pop edi
mov ecx, dword [esp + 0x564]
pop esi
pop ebx
pop ebp
mov dword fs:[0], ecx
add esp, 0x564
ret