Function at 0x10007100
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 [0x100597c0]
xor eax, esp
mov dword [esp + 0x50], eax
test ebp, ebp
je 0x1000713c
movzx ecx, byte [esi]
mov eax, 1
cmp cl, 0x2b
je 0x1000713e
xor eax, eax
cmp cl, 0x2d
sete al
jmp 0x1000713e
xor eax, eax
mov edx, dword [edi + 0x14]
not edx
mov ecx, 0x10051e7e
test edx, 0x3000
jne 0x1000716f
lea ebx, [eax + 2]
mov ecx, 0x10051e7b
cmp ebx, ebp
ja 0x1000716f
cmp byte [esi + eax], 0x30
jne 0x1000716f
movzx edx, byte [eax + esi + 1]
or edx, 0x20
cmp edx, 0x78
je 0x10007171
mov ebx, eax
push ecx
push esi
call fcn.100314c0
add esp, 8
mov ebp, esi
mov esi, eax
mov word [esp + 0x1e], 0x2e
call fcn.10030ff4
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [esp + 0x1e], al
lea eax, [esp + 0x1e]
push eax
push ebp
call fcn.100314c0
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.10004c20
add esp, 4
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x100071e2
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x100071e2
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 0x10007938
cmp ebp, 0xf
ja 0x10007231
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], 0xf
lea eax, [esp + 0x38]
push ebp
push 0
push eax
call fcn.10029a40
add esp, 0xc
add ebp, esp
add ebp, 0x38
jmp 0x10007295
mov eax, ebp
or eax, 0xf
cmp eax, 0x17
mov edi, 0x16
cmovae edi, eax
cmp edi, 0xfff
jb 0x10007260
lea eax, [edi + 0x24]
push eax
call fcn.1000e74c
add esp, 4
lea ebp, [eax + 0x23]
and ebp, 0xffffffe0
mov dword [ebp - 4], eax
jmp 0x1000726e
lea eax, [edi + 1]
push eax
call fcn.1000e74c
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.10029a40
add esp, 0xc
add ebp, edi
mov edi, dword [esp + 0x74]
mov byte [ebp], 0
cmp dword [esp + 0x4c], 0x10
jb 0x100072a8
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.10006970
add esp, 4
mov ebp, eax
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x100072fb
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x100072fb
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 0x1000733b
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0xc]
cmp dword [esp + 0x4c], 0x10
jb 0x10007331
mov ecx, dword [esp + 0x38]
jmp 0x10007335
lea ecx, [esp + 0x38]
mov edx, dword [esp]
mov byte [ecx + edx], al
cmp byte [esp + 0x84], 0
je 0x10007433
cmp edx, dword [esp + 0x80]
cmovne esi, edx
cmp dword [esp + 0x34], 0x10
jb 0x1000735e
mov edi, dword [esp + 0x20]
movsx eax, byte [edi]
mov ecx, eax
dec cl
cmp cl, 0x7d
ja 0x10007433
mov ecx, esi
sub ecx, ebx
cmp ecx, eax
jbe 0x10007433
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 0x10007933
mov edx, dword [esp + 0x4c]
cmp edx, ecx
jne 0x100073e0
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.10006f50
cmp byte [edi + 1], 0
jg 0x1000741a
jmp 0x1000741b
mov dword [esp], edi
inc ecx
mov dword [esp + 0x48], ecx
mov edi, ebp
cmp edx, 0x10
jb 0x100073f3
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.100294c0
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 0x1000741b
inc edi
movsx eax, byte [edi]
mov ecx, eax
dec cl
cmp cl, 0x7d
ja 0x10007433
mov ecx, esi
sub ecx, ebx
cmp ecx, eax
ja 0x10007390
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 0x10007499
mov dword [esp + 0x18], esi
cmp eax, 0x100
jne 0x100074c4
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, eax
mov byte [esp], al
test ebx, ebx
je 0x100075f6
cmp dword [esp + 0x4c], 0x10
jb 0x10007578
mov ecx, dword [esp + 0x38]
jmp 0x1000757c
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 0x100076f2
cmp dword [esp + 0x4c], 0x10
jb 0x1000767a
mov ecx, dword [esp + 0x38]
jmp 0x1000767e
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, eax
mov byte [esp], al
test ebp, ebp
je 0x1000754a
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 0x100074f7
mov byte [esp], 1
inc ebp
je 0x1000754a
test esi, esi
je 0x100074f0
mov edi, ebx
mov ebx, eax
mov eax, dword [esi + 0x20]
cmp dword [eax], 0
je 0x10007530
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
test ecx, ecx
jle 0x10007530
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 0x100074f4
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 0x100074f4
jmp 0x100074f0
and eax, 0xffffff00
test ebx, ebx
je 0x10007567
cmp dword [esp + 0x4c], 0x10
jb 0x10007707
mov ebp, dword [esp + 0x38]
jmp 0x1000770b
mov ecx, eax
movzx eax, byte [esp]
or ecx, eax
mov eax, ecx
xor ebp, ebp
jmp 0x10007784
lea ecx, [esp + 0x38]
mov dword [esp + 8], ecx
xor edi, edi
mov dword [esp + 4], eax
jmp 0x10007599
mov byte [esp], 1
inc edi
cmp ebx, edi
je 0x100075f6
test esi, esi
je 0x10007590
mov eax, dword [esp + 8]
movzx eax, byte [eax + edi]
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 0
je 0x100075e0
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
test edx, edx
jle 0x100075e0
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 0x10007594
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 0x10007594
jmp 0x10007590
and eax, 0xffffff00
test ebp, ebp
je 0x1000766f
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 0x1000762b
mov byte [esp], 1
inc ebp
je 0x10007772
test esi, esi
je 0x10007620
mov eax, dword [esi + 0x20]
cmp dword [eax], 0
je 0x10007660
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
test ecx, ecx
jle 0x10007660
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 0x10007624
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0xc]
cmp eax, 0xffffffff
jne 0x10007624
jmp 0x10007620
mov ecx, eax
movzx eax, byte [esp]
jmp 0x1000777a
lea ecx, [esp + 0x38]
mov dword [esp], ecx
xor edi, edi
jmp 0x1000769a
mov byte [esp + 8], 1
inc edi
cmp ebx, edi
je 0x100076f2
test esi, esi
je 0x10007690
mov eax, dword [esp]
movzx eax, byte [eax + edi]
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 0
je 0x100076e0
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
test edx, edx
jle 0x100076e0
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 0x10007695
movzx eax, al
mov edx, dword [esi]
mov ecx, esi
push eax
call dword [edx + 0xc]
cmp eax, 0xffffffff
jne 0x10007695
jmp 0x10007690
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 4]
and ecx, 0xffffff00
or ecx, eax
mov eax, ecx
jmp 0x10007780
lea ebp, [esp + 0x38]
mov dword [esp + 4], eax
xor edi, edi
mov dword [esp + 8], ebp
jmp 0x10007729
mov byte [esp], 1
inc edi
cmp ebx, edi
je 0x10007772
test esi, esi
je 0x10007720
movzx eax, byte [ebp + edi]
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 0
je 0x10007760
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
test edx, edx
jle 0x10007760
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 0x10007724
movzx eax, al
mov edx, dword [esi]
mov ecx, esi
push eax
call dword [edx + 0xc]
cmp eax, 0xffffffff
jne 0x10007724
jmp 0x10007720
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 0x1000782a
cmp dword [esp + 0x4c], 0x10
jb 0x100077a7
mov ecx, dword [esp + 0x38]
jmp 0x100077ab
lea ecx, [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
jmp 0x100077c9
mov byte [esp], 1
inc ebx
cmp edi, ebx
je 0x1000782a
test esi, esi
je 0x100077c0
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 0x10007810
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
test edx, edx
jle 0x10007810
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 0x100077c4
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 0x100077c4
jmp 0x100077c0
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 0x1000789f
movzx ebx, byte [esp + 0x78]
jmp 0x10007857
mov byte [esp], 1
dec ebp
je 0x1000789f
test esi, esi
je 0x10007850
mov eax, dword [esi + 0x20]
cmp dword [eax], 0
je 0x10007890
mov eax, dword [esi + 0x30]
mov ecx, dword [eax]
test ecx, ecx
jle 0x10007890
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 0x10007854
mov eax, dword [esi]
mov ecx, esi
push ebx
call dword [eax + 0xc]
cmp eax, 0xffffffff
jne 0x10007854
jmp 0x10007850
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 0x100078e6
mov ecx, dword [esp + 0x20]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x100078dc
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000793d
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
add esp, 8
mov eax, dword [esp + 0x4c]
cmp eax, 0x10
jb 0x1000791c
mov ecx, dword [esp + 0x38]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10007912
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x1000793d
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.1000e781
add esp, 8
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.1000e7b7
mov eax, edi
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
call fcn.100070e0
call fcn.100015d0
call fcn.1002f997
int3