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

Disassembly:
sub esp, 0x68
mov eax, dword [0x4bb0c4]
xor eax, esp
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x70]
or ecx, 0xffffffff
push ebx
push ebp
push esi
mov esi, dword [esp + 0x78]
or ebx, ecx
mov dword [esp + 0x40], eax
xor edx, edx
mov dword [esp + 0x2c], ecx
or ebp, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], ecx
mov al, byte [esi]
push edi
or edi, ecx
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x50], esi
mov dword [esp + 0x34], edx
test al, al
je 0x434100
cmp edx, 6
jge 0x433e9f
mov byte [esp + 0x13], 0
movzx eax, al
push eax
call fcn.00478266
add esp, 4
test eax, eax
jne 0x433d19
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x433d01
movzx eax, byte [esi]
push eax
call fcn.00478295
add esp, 4
test eax, eax
je 0x433eb7
lea eax, [esp + 0x54]
xorps xmm0, xmm0
push eax
push str._31_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_
push esi
movups xmmword [esp + 0x60], xmm0
movups xmmword [esp + 0x70], xmm0
call fcn.0041c5a0
add esp, 0xc
test eax, eax
je 0x433d63
lea edi, [esp + 0x54]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x433d58
sub edi, ecx
jmp 0x433d65
xor edi, edi
cmp dword [esp + 0x2c], 0xffffffff
jne 0x433dd3
cmp edi, 3
mov byte [esp + 0x13], 0
mov ebx, 0x499980
mov dword [esp + 0x2c], 0
mov eax, 0x4999cc
cmova ebx, eax
nop dword [eax]
push dword [ebx]
lea eax, [esp + 0x58]
push eax
call fcn.0042ad80
add esp, 8
test eax, eax
mov eax, dword [esp + 0x2c]
jne 0x433db6
inc eax
add ebx, 4
mov dword [esp + 0x2c], eax
cmp eax, 7
jl 0x433d90
jmp 0x433dbb
mov byte [esp + 0x13], 1
or ecx, 0xffffffff
cmp byte [esp + 0x13], 0
cmovne ecx, eax
mov dword [esp + 0x2c], ecx
cmp ecx, 0xffffffff
jne 0x433e7e
cmp dword [esp + 0x14], 0xffffffff
jne 0x433e2f
mov eax, 0x49999c
mov byte [esp + 0x13], 0
mov dword [esp + 0x14], eax
xor ebx, ebx
nop word [eax + eax]
push dword [eax]
lea eax, [esp + 0x58]
push eax
call fcn.0042ad80
add esp, 8
test eax, eax
jne 0x433e16
mov eax, dword [esp + 0x14]
inc ebx
add eax, 4
mov dword [esp + 0x14], eax
cmp ebx, 0xc
jl 0x433df0
jmp 0x433e1b
mov byte [esp + 0x13], 1
or eax, 0xffffffff
cmp byte [esp + 0x13], 0
cmovne eax, ebx
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x433e7e
cmp ebp, 0xffffffff
jne 0x433e5b
mov ebx, 0x4999e8
xor ebp, ebp
nop dword [eax + eax]
lea eax, [esp + 0x54]
push ebx
push eax
call fcn.0042ad80
add esp, 8
test eax, eax
jne 0x433e71
inc ebp
add ebx, 0xc
cmp ebp, 0x44
jb 0x433e40
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.00453227
add esp, 0x68
ret
mov eax, dword [ebx + 8]
mov ebp, eax
shl ebp, 4
sub ebp, eax
shl ebp, 2
add esi, edi
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov al, byte [esi]
inc edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x34], edx
test al, al
jne 0x433cf3
cmp dword [esp + 0x1c], 0xffffffff
je 0x434100
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
jmp 0x434108
movzx eax, byte [esi]
push eax
call fcn.004782c4
add esp, 4
test eax, eax
je 0x433e84
cmp dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x38], 0
jne 0x433f3d
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x3c]
push eax
push str._02d:_02d:_02d_n
push esi
call fcn.0041c5a0
add esp, 0x18
cmp eax, 3
jne 0x433f03
add esi, dword [esp + 0x38]
jmp 0x433e84
cmp dword [esp + 0x1c], 0xffffffff
jne 0x433f3d
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x38]
push eax
push str._02d:_02d_n
push esi
call fcn.0041c5a0
add esp, 0x14
cmp eax, 2
jne 0x433f3d
add esi, dword [esp + 0x38]
mov dword [esp + 0x1c], 0
jmp 0x433e84
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0xa
lea eax, [esp + 0x40]
push eax
push esi
call fcn.0047524a
add esp, 0xc
mov dword [esp + 0x4c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x48], eax
cmp eax, edi
je 0x433f7a
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x433e5b
push dword [esp + 0x4c]
call fcn.004159f0
mov ecx, dword [esp + 0x40]
add esp, 4
mov edi, eax
cmp ebp, 0xffffffff
jne 0x433ff6
mov eax, ecx
sub eax, esi
cmp eax, 4
jne 0x433ff6
cmp edi, 0x578
jg 0x433ff6
cmp dword [esp + 0x50], esi
jae 0x433ff6
mov al, byte [esi - 1]
mov byte [esp + 0x23], al
cmp al, 0x2b
je 0x433fbf
cmp al, 0x2d
jne 0x433ff6
mov eax, 0x51eb851f
mov byte [esp + 0x13], 1
imul edi
mov ecx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
shl eax, 3
sub ecx, eax
mov ebp, ecx
shl ebp, 4
sub ebp, ecx
mov ecx, dword [esp + 0x3c]
shl ebp, 2
cmp byte [esp + 0x23], 0x2b
jne 0x433ff6
neg ebp
mov eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, esi
cmp eax, 8
mov eax, dword [esp + 0x18]
jne 0x43406c
cmp ebx, 0xffffffff
jne 0x43406c
cmp ecx, ebx
jne 0x43406c
cmp eax, ebx
jne 0x43406c
mov eax, 0x68db8bad
mov esi, dword [esp + 0x3c]
imul edi
mov ecx, edi
sar edx, 0xc
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
imul eax, ebx, 0x2710
mov dword [esp + 0x28], ebx
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
mov eax, 0x51eb851f
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
dec ecx
add ecx, edx
imul edi
mov dword [esp + 0x14], ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub edi, eax
mov dword [esp + 0x18], edi
jmp 0x433e88
cmp byte [esp + 0x13], 0
jne 0x4340a7
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x4340b4
cmp eax, 0xffffffff
jne 0x433e5b
lea eax, [edi - 1]
cmp eax, 0x1e
ja 0x434096
mov eax, edi
mov dword [esp + 0x18], eax
mov al, 1
jmp 0x43409a
mov al, byte [esp + 0x13]
mov edx, 1
mov dword [esp + 0x40], edx
test al, al
je 0x4340bd
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
jmp 0x433e88
cmp edx, 1
jne 0x433e5b
cmp ebx, 0xffffffff
jne 0x433e5b
mov dword [esp + 0x28], edi
cmp edi, 0x76c
jge 0x4340e7
lea eax, [edi + 0x76c]
cmp edi, 0x46
jg 0x4340e3
lea eax, [edi + 0x7d0]
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x18]
xor eax, eax
mov esi, dword [esp + 0x3c]
cmp edi, 0xffffffff
cmove edx, eax
mov dword [esp + 0x40], edx
jmp 0x433e88
xor eax, eax
xor edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
cmp edi, 0xffffffff
je 0x433e5b
cmp ecx, 0xffffffff
je 0x433e5b
cmp ebx, 0xffffffff
je 0x433e5b
cmp ebx, 0x7b2
jge 0x43415c
mov eax, dword [esp + 0x44]
pop edi
pop esi
pop ebp
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, 2
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.00453227
add esp, 0x68
ret
cmp edi, 0x1f
jg 0x433e5b
cmp ecx, 0xb
jg 0x433e5b
cmp eax, 0x17
jg 0x433e5b
cmp edx, 0x3b
jg 0x433e5b
cmp dword [esp + 0x1c], 0x3c
jg 0x433e5b
lea eax, [ebx - 0x76c]
cmp eax, 0x46
jge 0x4341a0
or esi, 0xffffffff
or edi, esi
jmp 0x4342a8
test ecx, ecx
jns 0x4341c2
mov eax, 0xb
mov esi, 0xc
sub eax, ecx
cdq
idiv esi
add ebx, eax
mov eax, 0xb
sub eax, edx
mov dword [esp + 0x24], eax
jmp 0x4341eb
mov dword [esp + 0x24], ecx
cmp ecx, 0xc
jl 0x4341eb
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
sub ebx, eax
lea eax, [eax + eax*2]
shl eax, 2
sub edx, eax
mov dword [esp + 0x24], edx
xor eax, eax
mov esi, ebx
cmp ecx, 1
push 0
setle al
sub esi, eax
mov eax, 0x51eb851f
imul esi
mov eax, 0x51eb851f
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul esi
push 0x15180
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, esi
cdq
add ecx, 0xfffffe23
and edx, 3
add eax, edx
sar eax, 2
add eax, ecx
mov ecx, 0x15180
imul ecx
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x2c]
mov eax, dword [eax*4 + 0x499d18]
imul ecx
mov ecx, 0x16d
add esi, eax
lea eax, [ebx - 0x7b2]
adc edi, edx
imul ecx
push edx
push eax
call fcn.00454260
add esi, eax
mov ecx, 0x15180
mov eax, dword [esp + 0x18]
adc edi, edx
imul ecx
mov ecx, 0xe10
add esi, eax
mov eax, dword [esp + 0x34]
adc edi, edx
imul ecx
mov ecx, 0x3c
add esi, eax
mov eax, dword [esp + 0x30]
adc edi, edx
imul ecx
add esi, eax
mov eax, dword [esp + 0x1c]
adc edi, edx
cdq
add esi, eax
adc edi, edx
sub esi, 0x15180
sbb edi, 0
cmp esi, 0xffffffff
je 0x4342fb
xor ecx, ecx
cmp ebp, 0xffffffff
cmovne ecx, ebp
test ecx, ecx
jle 0x4342f4
mov eax, bind
sub eax, ecx
cdq
cmp edi, edx
jl 0x4342f4
jg 0x4342cb
cmp esi, eax
jbe 0x4342f4
mov eax, dword [esp + 0x44]
pop edi
pop esi
pop ebp
mov dword [eax], bind
mov dword [eax + 4], 0
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.00453227
add esp, 0x68
ret
mov eax, ecx
cdq
add esi, eax
adc edi, edx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edi
pop edi
mov dword [eax], esi
xor eax, eax
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00453227
add esp, 0x68
ret