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

Disassembly:
sub esp, 0x94
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa0]
push ebx
or eax, 0xffffffff
lea ebx, [edx + ecx]
lea ecx, [ebx - 1]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
xor eax, eax
test ecx, 0xfffffa6f
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], eax
je 0x10065e2c
mov eax, 0xfffffffd
pop ebx
add esp, 0x94
ret
push esi
mov esi, dword [esp + 0xa0]
cmp esi, eax
je 0x1006634e
cmp edx, eax
je 0x1006634e
cmp dword [esp + 0xb8], eax
jne 0x10065e5a
cmp dword [esp + 0xbc], eax
jg 0x1006634e
push edi
mov edi, dword [esp + 0xa8]
cmp edi, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x48], 0x989680
mov dword [esp + 0x9c], eax
je 0x10065e9f
mov eax, dword [edi]
test al, 1
je 0x10065e86
mov edx, dword [edi + 4]
mov dword [esp + 0x10], edx
test al, 2
je 0x10065e91
mov edx, dword [edi + 8]
mov dword [esp + 0x48], edx
test al, 4
je 0x10065e9f
mov eax, dword [edi + 0xc]
mov dword [esp + 0x9c], eax
cmp dword [esi], 0x50435245
je 0x10065eb6
pop edi
pop esi
mov eax, 0xfffffffc
pop ebx
add esp, 0x94
ret
mov eax, dword [esi + 0xc]
mov edx, eax
shr edx, 0x1c
and edx, 1
mov dword [esp + 0x20], edx
movzx edx, word [esi + 0x1a]
push ebp
movzx ebp, word [esi + 0x18]
imul edx, ebp
mov ebp, dword [esp + 0xb8]
lea edx, [edx + esi + 0x1c]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x80], edx
mov dword [esp + 0x98], ebp
mov ebp, dword [esp + 0xb4]
add edx, ebp
mov dword [esp + 0x84], edx
mov dword [esp + 0x18], edx
mov edx, eax
shr edx, 5
and edx, 1
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x74], edx
mov edx, eax
shr edx, 0xb
and edx, 1
mov dword [esp + 0x70], edx
mov edx, ecx
shr edx, 7
and edx, 1
mov edi, eax
or edi, ecx
mov dword [esp + 0x68], edx
mov edx, ecx
shr ecx, 0xa
and ecx, 1
and eax, 7
shr edx, 8
mov dword [esp + 0x78], ecx
mov ecx, dword [esi + 8]
and edx, 1
mov dword [esp + 0x40], eax
mov dword [esp + 0x5c], ecx
add ecx, 0x340
mov eax, ebp
mov dword [esp + 0x6c], edx
cdq
mov dword [esp + 0x60], ecx
mov ecx, 3
idiv ecx
mov ax, word [esi + 0x12]
shr edi, 4
and edi, 1
mov dword [esp + 0x44], edi
mov dword [esp + 0x9c], 0
sub ebp, edx
test ax, ax
jbe 0x10065fdc
movzx ecx, ax
mov eax, 0x55555556
imul ebp
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jl 0x10065fdc
lea ebp, [ecx + ecx*2 + 3]
lea ecx, [ebp*4]
push ecx
call dword [0x10095128]
add esp, 4
test eax, eax
mov dword [esp + 0x50], eax
jne 0x10065fd2
mov eax, 0xfffffffa
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x94
ret
mov dword [esp + 0x1c], 1
jmp 0x10065fe7
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x50], edx
lea ecx, [ebp + ebp]
mov eax, 0x55555556
imul ecx
mov ecx, dword [esp + 0xc4]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x58], eax
movzx eax, word [esi + 0x10]
lea eax, [eax + eax + 2]
cmp eax, ecx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x64], 0
mov dword [esp + 0x94], 0xffffffff
mov dword [esp + 0x38], eax
jle 0x10066031
mov eax, ebp
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x10066061
cdq
lea ebp, [ecx + ebp*4]
sub eax, edx
sar eax, 1
mov ecx, 1
sub ecx, eax
lea eax, [ebp + ecx*4]
sub ebp, 4
cmp ebp, eax
jb 0x10066061
mov dword [ebp], 0xffffffff
sub ebp, 4
cmp ebp, eax
jae 0x10066053
test edi, edi
jne 0x100660b5
test dword [esi + 0xc], 0x40000000
je 0x10066098
movzx eax, word [esi + 0x14]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], eax
je 0x100660b5
mov edx, dword [esp + 0x5c]
movzx eax, byte [edx + ecx]
mov dword [esp + 0x10], eax
jmp 0x100660b5
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x100660b5
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100660b5
test byte [eax + 4], 1
je 0x100660b5
add eax, 5
mov dword [esp + 0x20], eax
test dword [esi + 0xc], 0x20000000
je 0x100660e7
movzx eax, word [esi + 0x16]
mov edx, dword [esi + 8]
mov ecx, eax
and ecx, 0xff
shr eax, 8
and eax, 1
mov dword [esp + 0x3c], eax
movzx eax, byte [edx + ecx + 0x100]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x38]
lea ecx, [edi + ecx*4]
cmp edi, ecx
jae 0x1006610e
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x50]
test ebp, ebp
jl 0x10066162
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1006613f
cmp ebx, esi
jae 0x100661d4
mov eax, dword [esp + 0x5c]
movzx edx, byte [ebx]
movzx ecx, byte [edx + eax]
cmp ecx, ebp
je 0x100661d4
inc ebx
cmp ebx, esi
jb 0x10066126
jmp 0x100661d4
cmp ebx, esi
jae 0x100661d4
jmp 0x10066150
movzx edx, byte [ebx]
cmp edx, ebp
je 0x100661d4
inc ebx
cmp ebx, esi
jb 0x10066150
jmp 0x100661d4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1006618f
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x80]
add ecx, eax
cmp ebx, ecx
jbe 0x100661d4
cmp ebx, esi
jae 0x100661d4
cmp byte [ebx - 1], 0xa
je 0x100661d4
inc ebx
cmp ebx, esi
jb 0x10066182
jmp 0x100661d4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100661d4
cmp ebx, esi
jae 0x100661d4
jmp 0x100661a0
movzx esi, byte [ebx]
mov ecx, esi
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, eax
mov eax, esi
mov esi, dword [esp + 0x18]
cdq
and edx, 7
add eax, edx
mov edx, dword [esp + 0x20]
sar eax, 3
mov al, byte [eax + edx]
test al, cl
jne 0x100661d0
inc ebx
cmp ebx, esi
jb 0x100661a0
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
test edx, edx
jl 0x10066237
mov ecx, esi
sub ecx, ebx
cmp ecx, 0x3e8
jge 0x10066237
mov ecx, dword [esp + 0x30]
xor eax, eax
test ebp, ebp
setge al
add eax, ebx
cmp eax, ecx
jbe 0x10066237
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x10066219
cmp eax, esi
jae 0x1006627d
movzx ecx, byte [eax]
inc eax
cmp ecx, edx
je 0x1006622e
cmp ecx, dword [esp + 0x28]
je 0x1006622e
cmp eax, esi
jb 0x10066205
jmp 0x1006627d
cmp eax, esi
jae 0x1006627d
lea ecx, [ecx]
movzx ecx, byte [eax]
inc eax
cmp ecx, edx
je 0x1006622e
cmp eax, esi
jb 0x10066220
jmp 0x1006627d
dec eax
cmp eax, esi
jae 0x1006627d
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x7c]
push 2
push 0
push edx
lea eax, [esp + 0x54]
push eax
push 2
push ecx
push ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x64], 0
call fcn.10063fd0
add esp, 0x1c
test eax, eax
jne 0x1006629d
mov eax, dword [esp + 0x44]
inc ebx
test eax, eax
jne 0x10066279
cmp ebx, esi
jbe 0x100660ef
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1006628f
push edi
call dword [0x1009512c]
add esp, 4
pop ebp
pop edi
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x94
ret
cmp eax, 1
jne 0x10065fc7
mov eax, dword [esp + 0x1c]
test eax, eax
mov ebp, dword [esp + 0xc4]
je 0x100662fb
cmp ebp, 4
mov eax, dword [esp + 0x50]
jl 0x100662e0
mov edi, dword [esp + 0xc0]
lea ecx, [ebp*4 - 8]
mov edx, ecx
shr ecx, 2
add edi, 8
lea esi, [eax + 8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [esp + 0x90], ebp
jle 0x100662f1
mov dword [esp + 0x64], 1
push eax
call dword [0x1009512c]
add esp, 4
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10066307
xor eax, eax
jmp 0x10066313
mov eax, dword [esp + 0x90]
cdq
sub eax, edx
sar eax, 1
cmp ebp, 2
jge 0x10066325
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x94
ret
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x8c]
mov edx, dword [esp + 0xc0]
sub ebx, ecx
pop ebp
sub esi, ecx
pop edi
mov dword [edx + 4], esi
pop esi
mov dword [edx], ebx
pop ebx
add esp, 0x94
ret
pop esi
mov eax, 0xfffffffe
pop ebx
add esp, 0x94
ret