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

Disassembly:
mov eax, dword fs:[0]
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
push 0x4f07db
push eax
mov dword fs:[0], esp
sub esp, 0x48
call fcn.004121c0
test eax, eax
je 0x4336d3
mov al, byte [esp + 0x64]
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov byte [esp + 0x28], al
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov cl, byte [esp + 0x74]
push ebx
mov byte [esp + 0x3c], cl
lea ecx, [esp + 0x3c]
mov dword [esp + 0x64], ebx
call fcn.00403b70
mov esi, dword [esp + 0x68]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x3c]
push ebp
call fcn.00403be0
test al, al
je 0x433229
mov edi, dword [esp + 0x3c]
mov ecx, ebp
mov edx, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x3c]
call fcn.00403bc0
mov ecx, dword [esp + 0x74]
mov byte [esp + 0x60], 1
call fcn.00412200
mov ecx, eax
call fcn.00419b70
mov edi, dword [esp + 0x70]
mov dword [esp + 0x10], ebx
xor ebp, ebp
mov esi, dword [edi + 4]
cmp esi, ebx
je 0x433368
mov ecx, dword [edi + 8]
mov eax, 0x38e38e39
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x10]
cmp eax, edx
jae 0x433368
mov edx, dword [esp + 0x30]
lea ecx, [esi + ebp]
push ecx
push 1
push edx
lea ecx, [esp + 0x34]
call fcn.004065c0
mov eax, dword [edi + 4]
cmp dword [eax + ebp], 1
jne 0x433357
mov al, byte [esp + 0x38]
push ebx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x4c], al
call fcn.00403b70
mov ecx, dword [0x4fdbfc]
lea edx, [esp + 0x38]
push ecx
push ebx
push edx
lea ecx, [esp + 0x54]
call fcn.004051a0
mov eax, dword [edi + 4]
mov byte [esp + 0x60], 2
mov eax, dword [eax + ebp + 8]
cmp eax, ebx
jne 0x4332d3
mov eax, 0x4fdc00
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00460a00
mov ecx, dword [esp + 0x44]
add esp, 8
cmp ecx, ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
jne 0x4332fa
mov ecx, 0x4fdc00
mov eax, dword [esp + 0x4c]
cmp eax, ebx
jne 0x433307
mov eax, 0x4fdc00
push ecx
lea ecx, [esp + 0x1c]
push 1
push ecx
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x34]
push edx
push ecx
push eax
call fcn.00460af0
mov ecx, dword [esp + 0x64]
add esp, 0x18
cmp ecx, ebx
mov byte [esp + 0x60], 1
je 0x43334b
mov al, byte [ecx - 1]
test al, al
je 0x433341
cmp al, 0xff
je 0x433341
dec al
mov byte [ecx - 1], al
jmp 0x43334b
dec ecx
push ecx
call fcn.004dae3e
add esp, 4
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x10]
inc ecx
add ebp, 0x24
mov dword [esp + 0x10], ecx
jmp 0x433248
mov ecx, dword [esp + 0x74]
call fcn.00412200
mov ecx, eax
call fcn.00419b90
mov eax, dword [esp + 0x2c]
cmp eax, ebx
jne 0x433386
mov dword [esp + 0x10], ebx
jmp 0x4333a1
mov ecx, dword [esp + 0x30]
sub ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x10], edx
lea ecx, [esp + 0x28]
push ecx
call fcn.00461df0
lea edx, [esp + 0x2c]
mov dword [esp + 0x18], eax
push edx
call fcn.00461ea0
push 0xbc
mov edi, eax
call fcn.004dae15
mov esi, eax
add esp, 0xc
mov dword [esp + 0x70], esi
cmp esi, ebx
je 0x43343b
mov dword [esi], 0x4fdc70
mov dword [esi + 4], ebx
mov al, byte [esp + 0x74]
lea ecx, [esi + 0xc]
push ebx
mov byte [esp + 0x64], 4
mov byte [ecx], al
call fcn.00403b70
lea ecx, [esi + 0x20]
mov byte [esp + 0x60], 5
call fcn.0040add0
lea ecx, [esi + 0x44]
mov byte [esp + 0x60], 6
call fcn.004036e0
lea ecx, [esi + 0x6c]
mov byte [esp + 0x60], 7
call fcn.004036e0
lea ecx, [esi + 0x94]
mov byte [esp + 0x60], 8
call fcn.004036e0
mov dword [esi], 0x4fdc50
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0x1c], ebx
mov dword [esp + 0x70], esi
jmp 0x43343f
mov dword [esp + 0x70], ebx
push 0xd0
mov byte [esp + 0x64], 1
call fcn.004dae15
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
cmp esi, ebx
mov ebx, dword [esp + 0x7c]
mov byte [esp + 0x60], 9
je 0x433493
mov ecx, dword [esp + 0x6c]
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x80]
call fcn.004121c0
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
push eax
lea eax, [esp + 0x38]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0041d2f0
mov ebp, eax
jmp 0x433495
xor ebp, ebp
xor esi, esi
mov byte [esp + 0x60], 1
cmp ebx, esi
je 0x43354d
cmp edi, esi
je 0x43354d
mov dl, byte [esp + 0x74]
mov dword [esp + 0x1c], esi
mov byte [esp + 0x18], dl
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
push 0x88
mov byte [esp + 0x64], 0xa
call fcn.004dae15
mov esi, eax
add esp, 4
mov dword [esp + 0x7c], esi
test esi, esi
mov byte [esp + 0x60], 0xb
je 0x433509
mov ecx, dword [esp + 0x74]
push 1
call fcn.00412240
mov ecx, eax
call fcn.004121c0
push eax
lea eax, [esp + 0x20]
push 0
push eax
push 0x536ec0
mov ecx, esi
call fcn.0041cc90
jmp 0x43350b
xor eax, eax
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
cmp esi, edi
mov dword [ebp + 0xc], eax
mov byte [esp + 0x60], 1
je 0x433534
push 1
lea ecx, [esi + 4]
call fcn.00403b70
add esi, 0x24
cmp esi, edi
jne 0x43351f
mov esi, dword [esp + 0x1c]
push esi
call fcn.004dae3e
xor eax, eax
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, 1
cmp ecx, eax
jne 0x43359c
cmp dword [esp + 0x14], eax
jne 0x43359c
push 0x74
call fcn.004dae15
add esp, 4
mov dword [esp + 0x68], eax
cmp eax, esi
mov byte [esp + 0x60], 0xc
je 0x43358c
mov ecx, eax
call fcn.00408360
mov byte [esp + 0x60], 1
mov esi, eax
mov edi, 0x216
jmp 0x4335de
xor eax, eax
mov byte [esp + 0x60], 1
mov esi, eax
mov edi, 0x216
jmp 0x4335de
mov ecx, dword [esp + 0x70]
push 0x94
mov dword [ecx + 8], eax
call fcn.004dae15
add esp, 4
mov dword [esp + 0x7c], eax
cmp eax, esi
mov byte [esp + 0x60], 0xd
je 0x4335d0
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
push edx
push ecx
mov ecx, eax
call fcn.00408840
jmp 0x4335d2
xor eax, eax
mov byte [esp + 0x60], 1
mov esi, eax
mov edi, 0x214
mov edx, dword [esp + 0x70]
mov dword [esi + 0x2c], ebp
mov ebp, dword [esp + 0x74]
mov dword [esi + 0x6c], 1
mov ecx, ebp
mov dword [esi + 0x70], ebx
mov dword [esi + 0x30], edx
call fcn.00412200
push eax
mov ecx, esi
call fcn.00407700
test ebx, ebx
je 0x43361f
mov ecx, ebp
call fcn.00412200
mov ecx, eax
call fcn.00419b60
push eax
mov ecx, esi
call fcn.00407700
mov eax, dword [esp + 0x78]
mov ecx, ebp
test eax, eax
je 0x433645
call fcn.00412200
mov ecx, eax
add ecx, 0x24
call fcn.0042d000
push eax
push edi
mov ecx, esi
call fcn.004076d0
xor edi, edi
jmp 0x43366c
call fcn.00412200
mov ecx, eax
add ecx, 0x24
call fcn.0042d000
push eax
push edi
mov ecx, esi
call fcn.004073b0
xor edi, edi
cmp esi, edi
je 0x43366c
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 8]
mov eax, dword [esp + 0x3c]
cmp eax, edi
je 0x433691
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x433688
cmp al, 0xff
je 0x433688
dec al
mov byte [ecx], al
jmp 0x433691
push ecx
call fcn.004dae3e
add esp, 4
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x60], 0xffffffff
cmp esi, edi
je 0x4336c6
push 1
lea ecx, [esi + 4]
call fcn.00403b70
add esi, 0x24
cmp esi, edi
jne 0x4336b1
mov esi, dword [esp + 0x2c]
push esi
call fcn.004dae3e
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
add esp, 0x54
ret