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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x545d1b
push eax
mov dword fs:[0], esp
sub esp, 0x558
push ebp
mov ebp, ecx
call fcn.004334c0
test eax, eax
jne 0x43375d
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 0x433e73
mov esi, dword [ebp + 0x230]
xor ebx, ebx
cmp esi, ebx
mov dword [esp + 0x44], esi
jl 0x433e73
push edi
push ebx
lea ecx, [esp + 0x68]
mov dword [esp + 0x48], ebx
call fcn.004de360
push esi
lea ecx, [esp + 0x68]
mov dword [esp + 0x574], ebx
call fcn.004df7c0
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 0x433c78
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 [0x940b54]
add di, ax
add dx, ax
movsx eax, word [0x940b56]
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.004c92f0
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.004c9320
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.004c9320
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.004c9410
test al, al
je 0x433906
movsx ecx, si
push ecx
lea ecx, [esp + 0x14]
movsx edi, bx
call fcn.00433e90
movsx edx, di
push edx
lea ecx, [esp + 0x14]
call fcn.00433eb0
mov cx, word [esp + 0x16]
movsx eax, word [0x940b56]
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 0x433d6b
movsx ecx, word [0x940b54]
movsx eax, word [0x940b56]
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.004c92f0
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.004c9320
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.004c9320
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.004c9410
test al, al
je 0x4339ec
movsx eax, di
movsx ecx, ax
push ecx
lea ecx, [esp + 0x14]
call fcn.00433e90
movsx edx, si
push edx
lea ecx, [esp + 0x14]
call fcn.00433eb0
jmp 0x433bf9
movsx eax, word [0x940b56]
movsx esi, di
mov word [esp + 0x1e], ax
mov al, byte [0x9660fa]
test al, 1
mov word [esp + 0x1c], si
jne 0x433a33
mov dl, al
xor edi, edi
or dl, 1
push fcn.00458ab0
mov byte [0x9660fa], dl
mov word [0x9660fc], di
mov word [0x9660fe], di
call fcn.0053228e
add esp, 4
jmp 0x433a35
xor edi, edi
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x3c]
push eax
push 0x9660fc
call fcn.004c92f0
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.004c9320
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.004c9320
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.004c9410
test al, al
je 0x433b0e
movsx edx, si
push edx
lea ecx, [esp + 0x14]
movsx edi, bx
call fcn.00433ed0
movsx eax, di
push eax
lea ecx, [esp + 0x14]
call fcn.00433eb0
mov cx, word [esp + 0x16]
movsx eax, word [0x940b56]
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 0x433d6b
movsx eax, word [0x940b54]
movsx ebx, bx
mov word [esp + 0x1c], ax
mov al, byte [0x9660fa]
test al, 1
mov word [esp + 0x1e], bx
jne 0x433b51
mov dl, al
push fcn.00458ab0
or dl, 1
mov word [0x9660fc], di
mov byte [0x9660fa], dl
mov word [0x9660fe], di
call fcn.0053228e
add esp, 4
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x2c]
push eax
push 0x9660fc
call fcn.004c92f0
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.004c9320
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.004c9320
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.004c9410
test al, al
je 0x433c27
movsx edx, si
push edx
lea ecx, [esp + 0x14]
call fcn.00433e90
movsx eax, bx
push eax
lea ecx, [esp + 0x14]
call fcn.00433ef0
mov cx, word [esp + 0x14]
movsx eax, word [0x940b54]
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 0x433d6b
movsx eax, word [0x940b52]
movsx ecx, word [0x940b56]
add eax, ecx
cdq
sub eax, edx
movsx edx, word [0x940b54]
mov ecx, eax
movsx eax, word [0x940b50]
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.004c9350
jmp 0x433d6b
mov eax, dword [ebp + 0x234]
sub eax, ebx
je 0x433ccd
dec eax
je 0x433c9f
dec eax
jne 0x433ce2
movsx eax, word [0x940b54]
sub esi, ecx
mov word [esp + 0x14], ax
add esi, eax
mov word [esp + 0x10], si
jmp 0x433ce2
movsx eax, word [0x940b50]
movsx edx, word [0x940b54]
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 0x433cd4
movsx eax, word [0x940b50]
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 0x433d52
dec eax
je 0x433d0d
dec eax
jne 0x433d6b
movsx eax, word [0x940b56]
mov esi, dword [esp + 0x16]
mov ecx, eax
sub ecx, esi
mov word [esp + 0x16], ax
add word [esp + 0x12], cx
jmp 0x433d6b
movsx eax, word [0x940b52]
movsx edx, word [0x940b56]
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 0x433d66
movsx eax, word [0x940b52]
mov esi, dword [esp + 0x12]
mov edx, eax
sub edx, esi
add word [esp + 0x16], dx
mov word [esp + 0x12], ax
mov ebp, dword [ebp + 0x18]
mov esi, dword [esp + 0x48]
lea eax, [esp + 0x10]
push 0
push eax
push esi
mov ecx, ebp
call fcn.004df4b0
test eax, eax
je 0x433d9b
cmp esi, 0x10000
mov dword [esp + 0x44], 1
jge 0x433d9b
mov dword [0x9660f4], esi
mov eax, dword [0x673ab8]
mov ecx, dword [0x673abc]
mov edx, eax
sub edx, ecx
add edx, 0x20
and edx, 0x8000001f
jns 0x433dba
dec edx
or edx, 0xffffffe0
inc edx
dec edx
mov dword [esp + 0x1c], edx
js 0x433e5a
cmp eax, ecx
je 0x433e5a
mov edx, ecx
shl edx, 4
add edx, 0x6738b8
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 0x433ded
xor ecx, ecx
cmp esi, 0x103
mov dword [0x673abc], ecx
jne 0x433e0c
test edx, edx
je 0x433e0c
movsx ebp, word [edx + 0x8a]
cmp ebp, dword [esp + 0x48]
je 0x433e4b
lea ebp, [eax + 1]
and ebp, 0x8000001f
jns 0x433e1c
dec ebp
or ebp, 0xffffffe0
inc ebp
cmp ebp, ecx
je 0x433e4b
shl eax, 4
add eax, 0x6738b8
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov eax, dword [0x673ab8]
inc eax
cmp eax, 0x20
jl 0x433e40
xor eax, eax
mov ecx, dword [0x673abc]
mov dword [0x673ab8], eax
mov edx, dword [esp + 0x1c]
dec edx
mov dword [esp + 0x1c], edx
jns 0x433dc5
lea ecx, [esp + 0x64]
mov dword [esp + 0x570], 0xffffffff
call fcn.004de4f0
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