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

Disassembly:
sub esp, 0x1e8
lea eax, [esp + 0x24]
lea ecx, [esp + 0x20]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1fc]
push eax
mov ebp, 1
push ecx
push ebp
push edi
call fcn.0064fac0
add esp, 0x10
test eax, eax
je 0x650b6e
mov eax, dword [esp + 0x34]
cmp eax, 0x31000
jb 0x650b4f
cmp eax, 0x34003
ja 0x650b4f
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x14]
push edx
push eax
push edi
mov dword [esp + 0x20], 0
call fcn.006454b0
mov ecx, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ecx
jne 0x650b6e
lea ecx, [esp + 0x14]
push 4
push ecx
call fcn.0064fbd0
mov eax, dword [esp + 0x1c]
add esp, 8
mov esi, eax
and esi, 0xff
test ah, 0xf0
jne 0x650794
mov edx, eax
and edx, 0xf00
shl edx, 4
or eax, edx
mov dword [esp + 0x14], eax
xor ebx, ebx
mov bl, byte [esp + 0x16]
call fcn.0064dc80
mov dword [esp + 0x24], eax
call fcn.0064dcb0
cmp esi, 3
mov dword [esp + 0x20], eax
je 0x6507d3
cmp esi, 4
je 0x6507d3
cmp esi, 5
je 0x6507d3
cmp esi, 6
je 0x6507d3
push 0
call fcn.0064dc60
push 0
call fcn.0064dc90
add esp, 8
jmp 0x6507ee
push ebp
call fcn.0064dc60
add esp, 4
test bl, 1
je 0x6507e5
push 0
jmp 0x6507e6
push ebp
call fcn.0064dc90
add esp, 4
lea eax, [esp + 0x1c]
push 0
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
push edi
call fcn.0064f990
add esp, 0x14
test eax, eax
je 0x650953
mov eax, dword [esp + 0x1c]
cmp eax, 0x31000
jb 0x65086d
cmp eax, 0x34003
ja 0x65086d
mov eax, dword [esp + 0x18]
cmp eax, 2
je 0x650891
cmp eax, 0x13
je 0x6508ec
mov eax, dword [esp + 0x10]
push eax
push edi
call fcn.006457d0
add esp, 8
test eax, eax
je 0x650953
lea ecx, [esp + 0x1c]
push 0
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x20]
push edx
push eax
push edi
call fcn.0064f990
add esp, 0x14
test eax, eax
jne 0x650810
jmp 0x650953
push 0x80000004
mov dword [esp + 0x2c], ebp
call fcn.00669b90
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], eax
push ecx
call fcn.00669ae0
add esp, 8
jmp 0x650953
mov ebx, dword [esp + 0x10]
lea ebp, [esp + 0x78]
test ebx, ebx
jbe 0x6508e2
cmp ebx, 0x40
mov esi, 0x40
ja 0x6508a9
mov esi, ebx
lea edx, [esp + 0x38]
push esi
push edx
push edi
call fcn.006454b0
add esp, 0xc
cmp eax, esi
jne 0x6508e8
sub ebx, esi
test esi, esi
jbe 0x6508dc
lea ecx, [esp + 0x38]
mov eax, ebp
sub ecx, ebp
mov edi, esi
mov dl, byte [ecx + eax]
mov byte [eax], dl
inc eax
dec edi
jne 0x6508cc
mov edi, dword [esp + 0x1fc]
add ebp, esi
test ebx, ebx
ja 0x65089d
lea eax, [esp + 0x78]
jmp 0x65094f
xor eax, eax
jmp 0x65094f
mov edi, dword [esp + 0x10]
lea ebx, [esp + 0x78]
test edi, edi
jbe 0x650944
cmp edi, 0x80
mov esi, 0x80
ja 0x650907
mov esi, edi
mov ecx, dword [esp + 0x1fc]
lea eax, [esp + 0x178]
push esi
push eax
push ecx
call fcn.006454b0
add esp, 0xc
cmp eax, esi
jne 0x650977
sub edi, esi
mov eax, 0
shr esi, 1
je 0x65093e
mov dl, byte [esp + eax*2 + 0x178]
mov byte [eax + ebx], dl
inc eax
cmp eax, esi
jb 0x65092f
add ebx, esi
test edi, edi
ja 0x6508f8
lea eax, [esp + 0x78]
mov edi, dword [esp + 0x1fc]
test eax, eax
jne 0x65097b
mov eax, dword [esp + 0x24]
push eax
call fcn.0064dc60
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0064dc90
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e8
ret
xor eax, eax
jmp 0x650948
lea edx, [esp + 0x18]
push 0
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
push edi
call fcn.0064f990
add esp, 0x14
test eax, eax
je 0x650a9a
mov eax, dword [esp + 0x18]
cmp eax, 0x31000
jb 0x6509fa
cmp eax, 0x34003
ja 0x6509fa
mov eax, dword [esp + 0x1c]
cmp eax, 2
je 0x650a1f
cmp eax, 0x13
je 0x650a80
mov edx, dword [esp + 0x10]
push edx
push edi
call fcn.006457d0
add esp, 8
test eax, eax
je 0x650a9a
lea eax, [esp + 0x18]
push 0
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x24]
push ecx
push edx
push edi
call fcn.0064f990
add esp, 0x14
test eax, eax
jne 0x65099d
jmp 0x650a9a
push 0x80000004
mov dword [esp + 0x2c], 1
call fcn.00669b90
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2c]
push eax
call fcn.00669ae0
add esp, 8
jmp 0x650a9a
mov ebx, dword [esp + 0x10]
lea ebp, [esp + 0xf8]
test ebx, ebx
jbe 0x650a73
cmp ebx, 0x40
mov esi, 0x40
ja 0x650a3a
mov esi, ebx
lea ecx, [esp + 0x38]
push esi
push ecx
push edi
call fcn.006454b0
add esp, 0xc
cmp eax, esi
jne 0x650a7c
sub ebx, esi
test esi, esi
jbe 0x650a6d
lea ecx, [esp + 0x38]
mov eax, ebp
sub ecx, ebp
mov edi, esi
mov dl, byte [ecx + eax]
mov byte [eax], dl
inc eax
dec edi
jne 0x650a5d
mov edi, dword [esp + 0x1fc]
add ebp, esi
test ebx, ebx
ja 0x650a2e
lea eax, [esp + 0xf8]
jmp 0x650a96
xor eax, eax
jmp 0x650a96
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xf8]
push eax
push edi
push ecx
call fcn.00650b80
add esp, 0xc
test eax, eax
jne 0x650abe
mov edx, dword [esp + 0x24]
push edx
call fcn.0064dc60
mov eax, dword [esp + 0x24]
push eax
call fcn.0064dc90
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e8
ret
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x78]
push ecx
push edx
call fcn.0064e110
mov esi, eax
add esp, 8
test esi, esi
jne 0x650b08
push edi
push 0x6ddb70
call fcn.00669ed0
mov eax, dword [esp + 0x2c]
push eax
call fcn.0064dc60
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0064dc90
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e8
ret
cmp dword [esi + 0x54], 1
jne 0x650b1b
mov edx, dword [esp + 0x14]
and edx, 0xffff
mov dword [esi + 0x50], edx
mov eax, dword [esp + 0x24]
push eax
call fcn.0064dc60
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0064dc90
push esi
push edi
push 0x6ddb70
call fcn.00669c40
add esp, 0x14
neg eax
sbb eax, eax
pop edi
and eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x1e8
ret
push 0x80000004
mov dword [esp + 0x2c], ebp
call fcn.00669b90
lea edx, [esp + 0x2c]
mov dword [esp + 0x30], eax
push edx
call fcn.00669ae0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1e8
ret