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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x74]
mov eax, dword [0x1005a900]
xor eax, esp
mov dword [esp + 0x50], eax
test ebp, ebp
je 0x100083fc
movzx ecx, byte [esi]
mov eax, 1
cmp cl, 0x2b
je 0x100083fe
xor eax, eax
cmp cl, 0x2d
sete al
jmp 0x100083fe
xor eax, eax
mov edx, dword [edi + 0x14]
not edx
mov ecx, 0x1005315d
test edx, 0x3000
jne 0x1000842f
lea ebx, [eax + 2]
mov ecx, 0x1005315a
cmp ebx, ebp
ja 0x1000842f
cmp byte [esi + eax], 0x30
jne 0x1000842f
movzx edx, byte [eax + esi + 1]
or edx, 0x20
cmp edx, 0x78
je 0x10008431
mov ebx, eax
push ecx
push esi
call fcn.100331a0
add esp, 8
mov ebp, esi
mov esi, eax
mov word [esp + 0x1e], 0x2e
call fcn.10032cd4
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [esp + 0x1e], al
lea eax, [esp + 0x1e]
push eax
push ebp
call fcn.100331a0
add esp, 8
mov dword [esp], eax
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0x38]
mov dword [esp + 4], eax
push eax
call fcn.10005fd0
add esp, 4
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x100084a2
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x100084a2
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
xorps xmm0, xmm0
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov ebp, dword [esp + 0x80]
test ebp, ebp
js 0x10008bf8
cmp ebp, 0xf
ja 0x100084f1
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], 0xf
lea eax, [esp + 0x38]
push ebp
push 0
push eax
call fcn.1002b4d0
add esp, 0xc
add ebp, esp
add ebp, 0x38
jmp 0x10008555
mov eax, ebp
or eax, 0xf
cmp eax, 0x17
mov edi, 0x16
cmovae edi, eax
cmp edi, 0xfff
jb 0x10008520
lea eax, [edi + 0x24]
push eax
call fcn.1001003c
add esp, 4
lea ebp, [eax + 0x23]
and ebp, 0xffffffe0
mov dword [ebp - 4], eax
jmp 0x1000852e
lea eax, [edi + 1]
push eax
call fcn.1001003c
add esp, 4
mov ebp, eax
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x80]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edi
push eax
mov edi, eax
push 0
push ebp
call fcn.1002b4d0
add esp, 0xc
add ebp, edi
mov edi, dword [esp + 0x74]
mov byte [ebp], 0
cmp dword [esp + 0x4c], 0x10
jb 0x10008568
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
add eax, ebp
mov ecx, dword [esp + 8]
mov edx, dword [ecx]
push dword [esp + 4]
push eax
push ebp
call dword [edx + 0x1c]
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea edi, [esp + 0x20]
push edi
call fcn.10007c30
add esp, 4
mov ebp, eax
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x100085bb
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x100085bb
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, dword [ebp]
mov ecx, ebp
push edi
call dword [eax + 0x14]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x10]
mov byte [esp + 4], al
mov edx, dword [esp]
cmp edx, dword [esp + 0x80]
je 0x100085fb
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0xc]
cmp dword [esp + 0x4c], 0x10
jb 0x100085f1
mov ecx, dword [esp + 0x38]
jmp 0x100085f5
lea ecx, [esp + 0x38]
mov edx, dword [esp]
mov byte [ecx + edx], al
cmp byte [esp + 0x84], 0
je 0x100086f3
cmp edx, dword [esp + 0x80]
cmovne esi, edx
cmp dword [esp + 0x34], 0x10
jb 0x1000861e
mov edi, dword [esp + 0x20]
movsx eax, byte [edi]
mov ecx, eax
dec cl
cmp cl, 0x7d
ja 0x100086f3
mov ecx, esi
sub ecx, ebx
cmp ecx, eax
jbe 0x100086f3
movsx ecx, byte [esp + 4]
mov dword [esp + 8], ecx
lea ebp, [esp + 0x38]
nop word [eax + eax]
sub esi, eax
mov ecx, dword [esp + 0x48]
mov eax, ecx
sub eax, esi
jb 0x10008bf3
mov edx, dword [esp + 0x4c]
cmp edx, ecx
jne 0x100086a0
sub esp, 0x14
movzx eax, byte [esp + 0x30]
mov byte [esp + 4], al
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
mov dword [esp], 1
mov ecx, ebp
call fcn.10008210
cmp byte [edi + 1], 0
jg 0x100086da
jmp 0x100086db
mov dword [esp], edi
inc ecx
mov dword [esp + 0x48], ecx
mov edi, ebp
cmp edx, 0x10
jb 0x100086b3
mov ebp, dword [esp + 0x38]
lea ecx, [esi + ebp]
inc eax
lea edx, [esi + ebp]
inc edx
push eax
push ecx
push edx
call fcn.1002af50
add esp, 0xc
movzx eax, byte [esp + 4]
mov byte [ebp + esi], al
mov ebp, edi
mov edi, dword [esp]
cmp byte [edi + 1], 0
jle 0x100086db
inc edi
movsx eax, byte [edi]
mov ecx, eax
dec cl
cmp cl, 0x7d
ja 0x100086f3
mov ecx, esi
sub ecx, ebx
cmp ecx, eax
ja 0x10008650
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x74]
mov esi, dword [edx + 0x20]
xor eax, eax
mov ebp, esi
sub ebp, edi
cmovb ebp, eax
mov ecx, dword [edx + 0x24]
cmp esi, 1
sbb ecx, 0
lea ecx, [esp + 0x6c]
cmovl ebp, eax
mov eax, 0x1c0
and eax, dword [edx + 0x14]
cmp eax, 0x40
mov dword [esp + 0xc], edi
je 0x10008759
mov dword [esp + 0x18], esi
cmp eax, 0x100
jne 0x10008784
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, eax
mov byte [esp], al
test ebx, ebx
je 0x100088b6
cmp dword [esp + 0x4c], 0x10
jb 0x10008838
mov ecx, dword [esp + 0x38]
jmp 0x1000883c
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, eax
mov byte [esp + 8], al
test ebx, ebx
mov dword [esp + 4], eax
je 0x100089b2
cmp dword [esp + 0x4c], 0x10
jb 0x1000893a
mov ecx, dword [esp + 0x38]
jmp 0x1000893e
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, eax
mov byte [esp], al
test ebp, ebp
je 0x1000880a
movzx ecx, byte [esp + 0x78]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x18]
cmp edi, ecx
mov ebp, ecx
cmovb ebp, edi
sub ebp, ecx
jmp 0x100087b7
mov byte [esp], 1
inc ebp
je 0x1000880a
test esi, esi
je 0x100087b0
mov edi, ebx
mov ebx, eax
mov eax, dword [esi + 0x20]
cmp dword [eax], 0
je 0x100087f0
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
test ecx, ecx
jle 0x100087f0
dec ecx
mov dword [eax], ecx
mov eax, dword [esi + 0x20]
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
movzx eax, byte [esp + 0x78]
mov byte [ecx], al
mov eax, ebx
mov ebx, edi
mov edi, dword [esp + 0xc]
jmp 0x100087b4
mov eax, dword [esi]
mov ecx, esi
push dword [esp + 4]
call dword [eax + 0xc]
cmp eax, 0xffffffff
mov eax, ebx
mov ebx, edi
mov edi, dword [esp + 0xc]
jne 0x100087b4
jmp 0x100087b0
and eax, 0xffffff00
test ebx, ebx
je 0x10008827
cmp dword [esp + 0x4c], 0x10
jb 0x100089c7
mov ebp, dword [esp + 0x38]
jmp 0x100089cb
mov ecx, eax
movzx eax, byte [esp]
or ecx, eax
mov eax, ecx
xor ebp, ebp
jmp 0x10008a44
lea ecx, [esp + 0x38]
mov dword [esp + 8], ecx
xor edi, edi
mov dword [esp + 4], eax
jmp 0x10008859
mov byte [esp], 1
inc edi
cmp ebx, edi
je 0x100088b6
test esi, esi
je 0x10008850
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi]
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 0
je 0x100088a0
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
test edx, edx
jle 0x100088a0
dec edx
mov dword [ecx], edx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x14], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
inc ecx
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
mov byte [ecx], al
mov eax, dword [esp + 4]
jmp 0x10008854
movzx eax, al
mov edx, dword [esi]
mov ecx, esi
push eax
call dword [edx + 0xc]
cmp eax, 0xffffffff
mov eax, dword [esp + 4]
jne 0x10008854
jmp 0x10008850
and eax, 0xffffff00
test ebp, ebp
je 0x1000892f
mov dword [esp + 4], eax
movzx edi, byte [esp + 0x78]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
mov ebp, ecx
cmovb ebp, eax
sub ebp, ecx
jmp 0x100088eb
mov byte [esp], 1
inc ebp
je 0x10008a32
test esi, esi
je 0x100088e0
mov eax, dword [esi + 0x20]
cmp dword [eax], 0
je 0x10008920
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
test ecx, ecx
jle 0x10008920
dec ecx
mov dword [eax], ecx
mov eax, dword [esi + 0x20]
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
movzx eax, byte [esp + 0x78]
mov byte [ecx], al
jmp 0x100088e4
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0xc]
cmp eax, 0xffffffff
jne 0x100088e4
jmp 0x100088e0
mov ecx, eax
movzx eax, byte [esp]
jmp 0x10008a3a
lea ecx, [esp + 0x38]
mov dword [esp], ecx
xor edi, edi
jmp 0x1000895a
mov byte [esp + 8], 1
inc edi
cmp ebx, edi
je 0x100089b2
test esi, esi
je 0x10008950
mov eax, dword [esp]
movzx eax, byte [eax + edi]
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 0
je 0x100089a0
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
test edx, edx
jle 0x100089a0
dec edx
mov dword [ecx], edx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x14], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x10], ecx
inc ecx
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
mov ecx, dword [esp + 0x10]
mov byte [ecx], al
jmp 0x10008955
movzx eax, al
mov edx, dword [esi]
mov ecx, esi
push eax
call dword [edx + 0xc]
cmp eax, 0xffffffff
jne 0x10008955
jmp 0x10008950
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 4]
and ecx, 0xffffff00
or ecx, eax
mov eax, ecx
jmp 0x10008a40
lea ebp, [esp + 0x38]
mov dword [esp + 4], eax
xor edi, edi
mov dword [esp + 8], ebp
jmp 0x100089e9
mov byte [esp], 1
inc edi
cmp ebx, edi
je 0x10008a32
test esi, esi
je 0x100089e0
movzx eax, byte [ebp + edi]
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 0
je 0x10008a20
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
test edx, edx
jle 0x10008a20
dec edx
mov dword [ecx], edx
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx]
lea ebp, [edx + 1]
mov dword [ecx], ebp
mov ebp, dword [esp + 8]
mov byte [edx], al
jmp 0x100089e4
movzx eax, al
mov edx, dword [esi]
mov ecx, esi
push eax
call dword [edx + 0xc]
cmp eax, 0xffffffff
jne 0x100089e4
jmp 0x100089e0
movzx eax, byte [esp]
mov ecx, dword [esp + 4]
or ecx, eax
mov eax, ecx
xor ebp, ebp
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov ecx, eax
mov byte [esp], al
cmp edi, ebx
je 0x10008aea
cmp dword [esp + 0x4c], 0x10
jb 0x10008a67
mov ecx, dword [esp + 0x38]
jmp 0x10008a6b
lea ecx, [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
jmp 0x10008a89
mov byte [esp], 1
inc ebx
cmp edi, ebx
je 0x10008aea
test esi, esi
je 0x10008a80
mov ecx, ebx
mov ebx, eax
mov ebp, ecx
mov eax, dword [esp + 8]
movzx eax, byte [eax + ecx]
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 0
je 0x10008ad0
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
test edx, edx
jle 0x10008ad0
dec edx
mov dword [ecx], edx
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx]
lea edi, [edx + 1]
mov dword [ecx], edi
mov edi, dword [esp + 0xc]
mov byte [edx], al
mov eax, ebx
mov ebx, ebp
mov ebp, dword [esp + 4]
jmp 0x10008a84
movzx eax, al
mov edx, dword [esi]
mov ecx, esi
push eax
call dword [edx + 0xc]
cmp eax, 0xffffffff
mov eax, ebx
mov ebx, ebp
mov ebp, dword [esp + 4]
jne 0x10008a84
jmp 0x10008a80
and eax, 0xffffff00
mov edi, eax
mov eax, dword [esp + 0x74]
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
test ebp, ebp
je 0x10008b5f
movzx ebx, byte [esp + 0x78]
jmp 0x10008b17
mov byte [esp], 1
dec ebp
je 0x10008b5f
test esi, esi
je 0x10008b10
mov eax, dword [esi + 0x20]
cmp dword [eax], 0
je 0x10008b50
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
test ecx, ecx
jle 0x10008b50
dec ecx
mov dword [eax], ecx
mov eax, dword [esi + 0x20]
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
movzx eax, byte [esp + 0x78]
mov byte [ecx], al
jmp 0x10008b14
mov eax, dword [esi]
mov ecx, esi
push ebx
call dword [eax + 0xc]
cmp eax, 0xffffffff
jne 0x10008b14
jmp 0x10008b10
movzx eax, byte [esp]
or edi, eax
mov eax, dword [esp + 0x68]
mov dword [eax], edi
mov edi, eax
mov dword [eax + 4], esi
mov eax, dword [esp + 0x34]
cmp eax, 0x10
jb 0x10008ba6
mov ecx, dword [esp + 0x20]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10008b9c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10008bfd
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
mov eax, dword [esp + 0x4c]
cmp eax, 0x10
jb 0x10008bdc
mov ecx, dword [esp + 0x38]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10008bd2
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10008bfd
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10010071
add esp, 8
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.100100a7
mov eax, edi
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
call fcn.100083a0
call fcn.10002670
call fcn.10031671
int3