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

Disassembly:
push 0xffffffffffffffff
push 0x10027768
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x1002fe30]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1002fe30]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov eax, dword [esp + 0x80]
cmp eax, 0xfffffffe
mov esi, dword [esp + 0x90]
mov ebp, edx
mov ebx, ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
lea edi, [ebp + 0x20]
je 0x100078f1
test eax, eax
je 0x100078e5
cmp eax, dword [esp + 0x88]
je 0x100078f1
call fcn.1001fd76
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
cmp ecx, dword [esp + 0x8c]
jne 0x1000790d
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov eax, ebx
jmp 0x10008082
cmp dword [ebp + 8], 0
mov ebx, dword [esi]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], 0
jbe 0x10007ac0
jmp 0x10007930
cmp byte [edi], 0
mov ebp, dword [esp + 0x84]
mov esi, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
jne 0x100079c0
cmp eax, 0xfffffffe
je 0x1000797e
test eax, eax
jne 0x1000795b
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp dword [esi + 0x18], 0x10
jb 0x10007966
mov ecx, dword [esi + 4]
jmp 0x10007969
lea ecx, [esi + 4]
mov edx, dword [esi + 0x14]
add edx, ecx
cmp ebp, edx
jb 0x1000797e
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x94], 0
mov cl, byte [ebp]
je 0x10007997
mov edx, dword [ebx]
movzx ecx, cl
mov cl, byte [ecx + edx + 0x104]
mov dl, byte [edi]
cmp cl, dl
je 0x10007ae4
test dl, dl
jne 0x10007aa8
lea esp, [esp]
add edi, 1
cmp byte [edi], 0
je 0x100079b0
jmp 0x10007aa8
cmp esi, 0xfffffffe
je 0x100079d7
test esi, esi
je 0x100079d2
cmp esi, dword [esp + 0x88]
je 0x100079d7
call fcn.1001fd76
cmp ebp, dword [esp + 0x8c]
je 0x10007a8f
cmp esi, 0xfffffffe
je 0x10007a0e
test esi, esi
jne 0x100079f2
call fcn.1001fd76
cmp dword [esi + 0x18], 0x10
jb 0x100079fd
mov eax, dword [esi + 4]
jmp 0x10007a00
lea eax, [esi + 4]
mov edx, dword [esi + 0x14]
add edx, eax
cmp ebp, edx
jb 0x10007a0e
call fcn.1001fd76
cmp byte [esp + 0x94], 0
mov al, byte [ebp]
je 0x10007a27
mov ecx, dword [ebx]
movzx eax, al
mov al, byte [eax + ecx + 0x104]
cmp al, byte [edi]
jne 0x10007a8f
add edi, 1
cmp esi, 0xfffffffe
je 0x10007a58
test esi, esi
jne 0x10007a3c
call fcn.1001fd76
cmp dword [esi + 0x18], 0x10
jb 0x10007a47
mov eax, dword [esi + 4]
jmp 0x10007a4a
lea eax, [esi + 4]
mov ecx, dword [esi + 0x14]
add ecx, eax
cmp ebp, ecx
jb 0x10007a58
call fcn.1001fd76
add ebp, 1
cmp byte [edi], 0
mov dword [esp + 0x30], ebp
jne 0x100079c0
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1c], 0
jne 0x10007aee
cmp esi, 0xfffffffe
je 0x10007b17
test esi, esi
je 0x10007b12
cmp esi, dword [esp + 0x80]
jmp 0x10007b10
cmp byte [edi], 0
je 0x10007a68
mov eax, edi
add eax, 1
cmp byte [eax], 0
jne 0x10007a96
lea edi, [eax + 1]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ecx, 1
cmp ecx, dword [edx + 8]
mov dword [esp + 0x18], ecx
jb 0x10007930
cmp eax, 0xfffffffe
je 0x10007b6d
test eax, eax
jne 0x10007ad9
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x18], 0x10
jb 0x10007b50
mov ecx, dword [eax + 4]
jmp 0x10007b53
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1c], 0
je 0x10007b05
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x80]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
jmp 0x1000807d
cmp esi, 0xfffffffe
je 0x10007b17
test esi, esi
je 0x10007b12
cmp esi, eax
je 0x10007b17
call fcn.1001fd76
cmp ebp, dword [esp + 0x84]
jne 0x10007b3c
lea ecx, [esp + 0x80]
call fcn.10001210
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx], edx
mov eax, dword [eax + 4]
jmp 0x1000807d
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x2c]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
jmp 0x1000807d
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x10007b6d
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x94], 0
mov ecx, dword [esp + 0x84]
mov cl, byte [ecx]
je 0x10007b94
mov edx, ebx
mov edx, dword [edx]
movzx ecx, cl
mov bl, byte [ecx + edx + 0x104]
mov byte [esp + 0x17], bl
jmp 0x10007b9a
mov byte [esp + 0x17], cl
mov bl, cl
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x10007bae
cmp dword [esi + 0x10], ecx
je 0x10007e92
xor edx, edx
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], edx
mov byte [esp + 0x54], dl
cmp ecx, edx
mov dword [esp + 0x78], edx
je 0x10007d6e
mov edx, dword [esp + 0x28]
test dword [edx + 8], 0x200000
jne 0x10007bed
mov ebp, 1
mov byte [esp + 0x54], bl
mov dword [esp + 0x64], ebp
mov byte [esp + 0x55], 0
jmp 0x10007c48
lea eax, [esp + 0x19]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], 0
call fcn.100039e0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x84], 1
call fcn.10003f50
cmp dword [esp + 0x4c], 0x10
mov byte [esp + 0x78], 0
jb 0x10007c3d
mov eax, dword [esp + 0x38]
push eax
call fcn.1001fc1d
add esp, 4
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x80]
cmp dword [esi + 0xc], 0
mov dword [esp + 0x18], 0
jbe 0x10007d6e
mov ebx, dword [esp + 0x54]
mov edi, edi
cmp byte [edi], 0
jne 0x10007c80
test ebp, ebp
je 0x10007cc3
cmp ebp, 1
jne 0x10007c80
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x10007c7b
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x10007cc3
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10007c85
sub eax, edx
mov esi, eax
cmp ebp, esi
mov ecx, ebp
jb 0x10007c9a
mov ecx, esi
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x10007ca7
lea eax, [esp + 0x54]
push ecx
push edi
push eax
call fcn.10001060
add esp, 0xc
test eax, eax
jne 0x10007cc1
cmp ebp, esi
jb 0x10007d30
cmp ebp, esi
setne al
test eax, eax
jl 0x10007d30
add edi, 1
cmp byte [edi], 0
jne 0x10007cc3
add edi, 1
cmp byte [edi], 0
jne 0x10007cf6
test ebp, ebp
je 0x10007ee0
cmp ebp, 1
jne 0x10007cf6
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x10007ced
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x10007ee0
mov eax, edi
lea edx, [eax + 1]
jmp 0x10007d00
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10007d00
sub eax, edx
push eax
push edi
push ebp
push 0
lea ecx, [esp + 0x60]
call fcn.10001b70
test eax, eax
mov ebx, dword [esp + 0x54]
jle 0x10007ee0
mov ebp, dword [esp + 0x64]
jmp 0x10007d40
add edi, 1
cmp byte [edi], 0
jne 0x10007d30
add edi, 1
jmp 0x10007d40
add edi, 1
cmp byte [edi], 0
jne 0x10007d40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add eax, 1
add edi, 1
cmp eax, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
jb 0x10007c60
mov eax, dword [esp + 0x80]
mov bl, byte [esp + 0x17]
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x10], 0
je 0x10007e77
lea edx, [esp + 0x19]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], 0
call fcn.10006bb0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x84], 2
call fcn.10003f50
cmp dword [esp + 0x4c], 0x10
jb 0x10007dc7
mov edx, dword [esp + 0x38]
push edx
call fcn.1001fc1d
add esp, 4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x28], eax
jbe 0x10007e6c
mov ebp, dword [esp + 0x64]
cmp byte [edi], 0
jne 0x10007e0a
test ebp, ebp
je 0x10007f65
cmp ebp, 1
jne 0x10007e0a
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x10007e01
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x10007f65
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10007e10
sub eax, edx
mov esi, eax
cmp ebp, esi
mov ecx, ebp
jb 0x10007e25
mov ecx, esi
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x10007e34
lea eax, [esp + 0x54]
push ecx
push edi
push eax
call fcn.10001060
add esp, 0xc
test eax, eax
jne 0x10007e54
cmp ebp, esi
jb 0x10007e54
cmp ebp, esi
setne al
test eax, eax
je 0x10007f65
add edi, 1
cmp byte [edi], 0
jne 0x10007e54
add ebx, 1
add edi, 1
cmp ebx, dword [esp + 0x28]
jb 0x10007de0
mov bl, byte [esp + 0x17]
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x68], 0x10
jb 0x10007e92
mov edx, dword [esp + 0x54]
push edx
call fcn.1001fc1d
mov eax, dword [esp + 0x84]
add esp, 4
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x14]
test ecx, 0x3ff
je 0x10007ebc
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
movzx edx, bl
movzx edx, word [edi + edx*2 + 0x204]
and edx, ecx
test edx, 0x3ff
jne 0x10007ed1
test ecx, 0x400
je 0x10007fe6
cmp bl, 0x5f
jne 0x10007fe6
cmp byte [esi + 0x1c], 0
jne 0x10008070
jmp 0x1000802b
mov edx, dword [esp + 0x1c]
cmp byte [edx + 0x1c], 0
mov eax, dword [esp + 0x80]
jne 0x10007f3e
cmp eax, 0xfffffffe
je 0x10007f36
test eax, eax
jne 0x10007f0a
call fcn.1001fd76
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x54]
cmp dword [eax + 0x18], 0x10
jb 0x10007f15
mov ecx, dword [eax + 4]
jmp 0x10007f18
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x10007f36
call fcn.1001fd76
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x54]
add dword [esp + 0x84], 1
cmp dword [esp + 0x68], 0x10
mov esi, dword [esp + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 4], eax
jb 0x10007f5e
push ebx
call fcn.1001fc1d
add esp, 4
mov eax, esi
jmp 0x10008082
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1c], 0
mov eax, dword [esp + 0x80]
jne 0x10007fbb
cmp eax, 0xfffffffe
je 0x10007fb3
test eax, eax
jne 0x10007f8b
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x18], 0x10
jb 0x10007f96
mov ecx, dword [eax + 4]
jmp 0x10007f99
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x10007fb3
call fcn.1001fd76
mov eax, dword [esp + 0x80]
add dword [esp + 0x84], 1
cmp dword [esp + 0x68], 0x10
mov esi, dword [esp + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 4], eax
jb 0x10007f5e
mov ecx, dword [esp + 0x54]
push ecx
call fcn.1001fc1d
add esp, 4
mov eax, esi
jmp 0x10008082
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x10008025
test ecx, 0x3ff
je 0x10008010
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
movzx edx, bl
movzx edx, word [edi + edx*2 + 0x204]
and edx, ecx
test edx, 0x3ff
jne 0x10008025
test ecx, 0x400
je 0x1000801d
cmp bl, 0x5f
je 0x10008025
cmp byte [esi + 0x1c], 0
jne 0x10008070
jmp 0x1000802b
cmp byte [esi + 0x1c], 0
je 0x10008070
cmp eax, 0xfffffffe
je 0x10008068
test eax, eax
jne 0x10008040
call fcn.1001fd76
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x18], 0x10
jb 0x1000804b
mov ecx, dword [eax + 4]
jmp 0x1000804e
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x10008068
call fcn.1001fd76
mov eax, dword [esp + 0x80]
add dword [esp + 0x84], 1
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 0x84]
mov dword [ecx + 4], eax
mov eax, ecx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.1002058c
add esp, 0x68
ret 0x18