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

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x1c8
mov eax, dword [ecx]
mov dword [ebp - 0x188], eax
test eax, eax
je 0x6b5d9e
mov esi, dword [eax + 8]
mov dword [ebp - 0x170], esi
test esi, esi
je 0x6b5d9e
mov eax, dword [esi + 0x38]
cmp byte [eax + 0xc], 0
je 0x6b5580
mov eax, dword [ebp - 0x170]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x3bc]
test eax, eax
jg 0x6b5590
mov dword [esp], 0x81f668
call fcn.007101e8
mov dword [esp], 0x81f68c
mov ebx, eax
call fcn.007101e8
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0x81f6c1
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x5201000
mov eax, dword [0x900b38]
mov dword [esp + 0x18], eax
mov eax, dword [0x906584]
mov dword [esp + 0x10], 0x81f444
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], 0x81f450
mov dword [esp + 8], 1
mov esi, dword [ebp - 0x188]
mov dword [esp + 4], esi
mov edi, dword [ebp - 0x170]
mov dword [esp], edi
call fcn.0053ba20
mov dword [esp], 0x81f6d0
call fcn.007101e8
mov dword [esp], 0x81f6f4
mov ebx, eax
call fcn.007101e8
mov dword [esp + 0x28], 0x81f6c1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x5201001
mov eax, dword [0x900b38]
mov dword [esp + 0x18], eax
mov eax, dword [0x906584]
mov dword [esp], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x81f4ae
mov dword [esp + 0xc], 0x81f4ba
mov dword [esp + 8], 1
mov dword [esp + 4], esi
call fcn.0053c1b0
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x81f4c3
call fcn.00531840
mov edi, eax
test eax, eax
je 0x6b5303
movzx eax, byte [eax]
test al, al
je 0x6b5303
cmp al, 0x2a
jne 0x6b5650
mov byte [ebp - 0x195], 0
mov dword [ebp - 0x178], 0xffffffff
mov dword [ebp - 0x174], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x81f4fb
mov esi, dword [ebp - 0x170]
mov dword [esp], esi
call fcn.00531810
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x194], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x81e41e
mov dword [ebp - 0x170], esi
mov dword [esp], esi
call fcn.00531810
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov esi, eax
mov ebx, edx
mov dword [esp + 4], 0x81f661
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call fcn.00531810
or ebx, esi
setne bl
mov dword [ebp - 0x16c], eax
or eax, edx
movzx ebx, bl
cmp eax, 1
mov dword [ebp - 0x180], edx
sbb ebx, 0xffffffff
test ebx, ebx
je 0x6b55a0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x81f524
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call fcn.00531810
mov esi, eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x184], edx
mov edx, dword [eax + 8]
mov eax, dword [edx + 8]
cmp eax, 1
je 0x6b5c18
cmp eax, 2
je 0x6b5638
xor ecx, ecx
mov eax, ecx
mov ebx, dword [ebp - 0x180]
or eax, 2
or ebx, dword [ebp - 0x16c]
cmovne ecx, eax
mov eax, dword [0x906580]
test eax, eax
je 0x6b5a70
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x6b5a70
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x16c], 0
mov edi, dword [ebp - 0x188]
or eax, esi
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x19c], ecx
setne byte [ebp - 0x180]
xor esi, esi
or eax, edx
mov dword [ebp - 0x184], eax
jmp 0x6b54cf
test eax, eax
je 0x6b5950
mov eax, dword [ebp - 0x184]
test eax, eax
jne 0x6b5535
test esi, esi
je 0x6b5b70
lea eax, [ebp - 0x160]
mov dword [ebx + 0xa0], esi
mov dword [ebx + 0xa8], eax
movzx eax, byte [ebp - 0x180]
mov byte [ebx + 0xb0], al
mov ebx, dword [ebx]
test ebx, ebx
je 0x6b5990
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x6b54ea
mov eax, edx
and eax, 1
or eax, 0
je 0x6b54c5
mov eax, dword [edi + 8]
add dword [ebp - 0x16c], 1
mov eax, dword [eax + 8]
cmp eax, 1
je 0x6b5970
cmp eax, 2
jne 0x6b5488
mov dword [ebx + 0xa4], 0
lea eax, [ebp - 0x164]
mov dword [ebx + 0xac], eax
mov eax, dword [ebp - 0x184]
test eax, eax
je 0x6b549e
mov esi, dword [ebx + 0x60]
mov dword [esp], 0x81f724
call fcn.007101e8
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp + 8], edi
or eax, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edi + 8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00559da0
mov esi, eax
jmp 0x6b54a6
cmp byte [esi + 0x28], 0
je 0x6b51dc
jmp 0x6b51c5
xor ebx, ebx
lea esp, [ebp - 0x10]
mov eax, ebx
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 8]
mov ebx, dword [eax + 0x48]
mov dword [esp], 0x81f506
call fcn.007101e8
mov dword [esp + 0xc], 0
mov ecx, ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004e6cd0
sub esp, 0x10
xor ebx, ebx
mov eax, dword [0x906580]
test eax, eax
je 0x6b5592
mov eax, dword [eax + 4]
test eax, eax
je 0x6b5592
nop
mov ecx, dword [eax + 0x20]
cmp ecx, 0x3f
ja 0x6b5621
mov edi, dword [ebp - 0x174]
mov esi, dword [ebp - 0x178]
shrd esi, edi, cl
shr edi, cl
test cl, 0x20
cmovne esi, edi
and esi, 1
or esi, 0
je 0x6b5621
mov dword [eax + 0xa0], 0
mov eax, dword [eax]
test eax, eax
jne 0x6b55f0
lea esp, [ebp - 0x10]
mov eax, ebx
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x164], eax
jmp 0x6b5410
mov dword [esp], edi
mov esi, 0x8000bf
call fcn.00723a18
mov dword [ebp - 0x178], 0
mov ebx, eax
mov dword [ebp - 0x16c], eax
xor eax, eax
mov dword [ebp - 0x174], 0
test ebx, ebx
je 0x6b5800
cmp dword [ebp - 0x16c], eax
jg 0x6b56a8
jmp 0x6b5d6c
cmp dl, 0x40
jg 0x6b5920
add eax, 1
cmp dword [ebp - 0x16c], eax
je 0x6b5930
movzx edx, byte [edi + eax]
lea ecx, [edx - 0x30]
cmp cl, 9
jbe 0x6b56c6
cmp dl, 0x58
jle 0x6b5690
sub edx, 0x61
cmp dl, 0x17
ja 0x6b5699
bt esi, edx
jae 0x6b5699
lea edx, [edi + eax]
cmp dword [ebp - 0x16c], eax
jle 0x6b5da8
mov dword [ebp - 0x180], edx
mov ecx, eax
lea esi, [esi]
movzx edx, byte [edi + ecx]
lea ebx, [edx - 0x30]
cmp bl, 9
jbe 0x6b581c
lea ebx, [edx - 0x41]
cmp bl, 5
jbe 0x6b581c
cmp dl, 0x78
jg 0x6b5716
cmp dl, 0x60
jle 0x6b5810
sub edx, 0x61
bt esi, edx
jb 0x6b581c
mov ebx, ecx
mov edx, dword [ebp - 0x180]
pxor xmm0, xmm0
mov dword [ebp - 0x184], ecx
sub ebx, eax
mov eax, 0x3f
movups xmmword [ebp - 0x158], xmm0
cmp ebx, eax
movups xmmword [ebp - 0x148], xmm0
cmovg ebx, eax
lea eax, [ebp - 0x158]
movups xmmword [ebp - 0x138], xmm0
movups xmmword [ebp - 0x128], xmm0
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00723a30
lea eax, [ebp - 0x158]
mov byte [ebp + ebx - 0x158], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.005027d0
mov ecx, eax
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x17c], edx
mov ebx, dword [ebp - 0x17c]
or ebx, eax
jne 0x6b58c1
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x16c]
cmp dword [ebp - 0x184], ecx
jl 0x6b57d4
jmp 0x6b5800
cmp dl, 0x40
jg 0x6b5918
add eax, 1
cmp dword [ebp - 0x16c], eax
je 0x6b5800
movzx edx, byte [edi + eax]
lea ecx, [edx - 0x30]
cmp cl, 9
jbe 0x6b57f2
cmp dl, 0x58
jle 0x6b57c0
sub edx, 0x61
cmp dl, 0x17
ja 0x6b57c9
bt esi, edx
jae 0x6b57c9
cmp dword [ebp - 0x16c], eax
jg 0x6b56a8
nop
mov byte [ebp - 0x195], 1
jmp 0x6b531e
and edx, 0xffffffef
cmp dl, 0x48
jne 0x6b5716
add ecx, 1
cmp dword [ebp - 0x16c], ecx
jne 0x6b56e0
mov ebx, dword [ebp - 0x16c]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x180]
sub ebx, eax
mov eax, 0x3f
cmp ebx, eax
cmovg ebx, eax
mov eax, ebx
pxor xmm0, xmm0
movups xmmword [ebp - 0x158], xmm0
movups xmmword [ebp - 0x148], xmm0
movups xmmword [ebp - 0x138], xmm0
movups xmmword [ebp - 0x128], xmm0
mov dword [esp + 8], eax
lea eax, [ebp - 0x158]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00723a30
lea eax, [ebp - 0x158]
mov byte [ebp + ebx - 0x158], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.005027d0
mov ecx, eax
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x17c], edx
mov ebx, dword [ebp - 0x17c]
or ebx, eax
je 0x6b5800
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
mov ebx, 0x3e
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], edx
mov edx, eax
xor eax, eax
cmp ebx, edx
sbb eax, dword [ebp - 0x18c]
jb 0x6b5b98
mov eax, 1
shl eax, cl
or dword [ebp - 0x178], eax
cdq
mov eax, dword [ebp - 0x184]
or dword [ebp - 0x174], edx
jmp 0x6b57ac
sub edx, 0x41
jmp 0x6b57ed
sub edx, 0x41
jmp 0x6b56c1
mov eax, dword [ebp - 0x16c]
xor ebx, ebx
mov dword [ebp - 0x184], eax
lea edx, [edi + eax]
xor eax, eax
jmp 0x6b584b
mov dword [ebx + 0xa4], 0
mov dword [ebx + 0xac], 0
jmp 0x6b5490
mov dword [ebx + 0xac], 0
lea eax, [ebp - 0x168]
mov dword [ebx + 0xa4], eax
jmp 0x6b5490
mov eax, dword [ebp - 0x16c]
mov edi, dword [ebp - 0x1a0]
test eax, eax
je 0x6b5a70
mov eax, dword [0x906580]
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0x194]
or eax, dword [ebp - 0x190]
je 0x6b5c2c
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
test ebx, ebx
jne 0x6b59f2
jmp 0x6b5c90
mov ebx, dword [ebx]
test ebx, ebx
je 0x6b5c90
mov ecx, dword [ebx + 0x20]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
cmovne eax, edx
and eax, 1
or eax, 0
je 0x6b59e8
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x188]
mov dword [esp], eax
call fcn.005381d0
mov dword [ebp - 0x15c], eax
mov esi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], fcn.006b4ab0
mov dword [esp], eax
call fcn.005410f0
test al, al
je 0x6b59e8
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x110]
je 0x6b5d7e
mov dword [eax], esi
add dword [ebp - 0x114], 4
jmp 0x6b59e8
cmp byte [ebp - 0x195], 0
jne 0x6b5cfd
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x81f559
mov edi, dword [ebp - 0x170]
mov dword [esp], edi
call fcn.00531810
or edx, eax
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 8]
mov ebx, dword [eax + 0x48]
jne 0x6b5cc7
mov dword [esp], 0x81f738
call fcn.007101e8
mov dword [esp + 0xc], 0
mov ecx, ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004e6cd0
sub esp, 0x10
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xb
mov dword [esp + 4], 0
mov dword [esp], 0x5000000
call fcn.004ec0c0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0053b380
mov edi, dword [ebp - 0x188]
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x48]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0053b400
jmp 0x6b55dd
mov dword [esp], 0x81f724
call fcn.007101e8
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
jmp 0x6b5550
mov edx, dword [0x906580]
mov eax, dword [ebp - 0x184]
test edx, edx
je 0x6b57ac
mov edx, dword [edx + 4]
test edx, edx
je 0x6b57ac
mov dword [ebp - 0x190], esi
mov ebx, dword [ebp - 0x180]
mov esi, dword [ebp - 0x17c]
jmp 0x6b5be8
mov ecx, dword [edx + 0x7c]
mov eax, dword [edx + 0x78]
xor ecx, esi
xor eax, ebx
or eax, ecx
je 0x6b5c0a
mov edx, dword [edx]
test edx, edx
je 0x6b5d5b
mov eax, dword [edx + 0x6c]
mov ecx, eax
mov dword [ebp - 0x180], eax
xor eax, ebx
sar ecx, 0x1f
mov dword [ebp - 0x17c], ecx
mov ecx, dword [ebp - 0x17c]
xor ecx, esi
or eax, ecx
jne 0x6b5bd0
mov esi, dword [ebp - 0x190]
mov ecx, dword [edx + 0x20]
jmp 0x6b58f6
imul ebx, dword [edx + 0xc]
mov ecx, 0x20
mov dword [ebp - 0x168], ebx
jmp 0x6b5412
mov edi, dword [ebp - 0x16c]
imul edi, dword [ebp - 0x168]
mov dword [ebp - 0x168], edi
test ebx, ebx
je 0x6b5592
mov esi, dword [ebp - 0x178]
mov edi, dword [ebp - 0x174]
jmp 0x6b5c62
mov ebx, dword [ebx]
test ebx, ebx
je 0x6b55dd
mov ecx, dword [ebx + 0x20]
mov edx, edi
mov eax, esi
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x6b5c75
mov eax, edx
and eax, 1
or eax, 0
je 0x6b5c58
mov eax, dword [ebp - 0x188]
mov dword [eax + 0x1c], ebx
mov dword [esp], eax
call fcn.006b4ab0
jmp 0x6b5c58
lea esi, [ebp - 0x118]
mov dword [esp], esi
call fcn.00538ef0
mov dword [esp], esi
not eax
mov ebx, eax
shr ebx, 0x1f
call fcn.00539040
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x6b5cbf
mov dword [esp], eax
call fcn.00712028
sub ebx, 1
jmp 0x6b55df
mov dword [esp], 0x81f768
call fcn.007101e8
mov dword [esp + 0xc], 0
mov ecx, ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004e6cd0
sub esp, 0x10
jmp 0x6b5b4c
mov dword [esp], 0x81f544
lea ebx, [ebp - 0x118]
call fcn.007101e8
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x100
mov dword [esp], ebx
call fcn.00723ce0
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x48]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004e6cd0
sub esp, 0x10
jmp 0x6b5a7d
mov esi, dword [ebp - 0x190]
mov eax, dword [ebp - 0x184]
jmp 0x6b57ac
mov dword [ebp - 0x184], eax
lea edx, [edi + eax]
xor ebx, ebx
xor eax, eax
jmp 0x6b584b
lea edx, [ebp - 0x15c]
mov dword [esp], eax
lea ecx, [ebp - 0x118]
mov dword [esp + 4], edx
call fcn.007350e0
sub esp, 8
jmp 0x6b59e8
mov ebx, 0xfffffc7c
jmp 0x6b5592
mov dword [ebp - 0x184], eax
xor ebx, ebx
xor eax, eax
jmp 0x6b584b