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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
lea esi, [esp + 0x40]
push 9
push 0x10055fdd
mov dword [esp + 0xc], eax
push eax
mov dword [esp + 0x24], ecx
push ecx
push esi
call fcn.10042750
add esp, 0x14
cmp dword [esi], 0
je 0x10010e66
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov eax, edi
mov dword [esp + 0xc], edx
sub eax, edx
mov dword [esp + 8], ecx
cmp eax, ecx
jae 0x10011123
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0xc]
cmp edx, ecx
mov dword [esp + 0x10], edx
cmova ecx, edx
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], edi
mov cl, byte [ebx + eax]
xor edx, edx
xor edi, edi
inc edi
shld edx, edi, cl
shl edi, cl
test cl, 0x20
cmovne edx, edi
mov ecx, 0
cmovne edi, ecx
and edx, dword [esp + 0x30]
and edi, dword [esp + 0x34]
or edi, edx
je 0x10010ddc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp ecx, edx
cmovb edx, ecx
cmp esi, 0xffffffff
cmove edx, ecx
dec edx
mov ecx, ebx
mov ebx, eax
add ecx, eax
mov edi, edx
cmp edi, 0xffffffff
je 0x10010de7
cmp edx, dword [esp + 0xc]
jae 0x1001120f
lea esi, [ebx + edi]
cmp esi, dword [esp + 8]
jae 0x1001121e
mov eax, dword [esp + 0x20]
mov al, byte [eax + edi]
lea esi, [edi - 1]
cmp al, byte [ecx + edi]
mov edi, esi
je 0x10010d8d
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x10]
add eax, esi
inc eax
mov esi, dword [esp + 0x2c]
cmp esi, 0xffffffff
je 0x10010e60
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
jmp 0x10010e47
mov ecx, dword [esp + 0xc]
cmp esi, 0xffffffff
jne 0x10010e47
jmp 0x10010e4b
cmp dword [esp + 0x2c], 0xffffffff
mov edi, dword [esp + 0x14]
cmove edi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
cmp edi, edx
cmovbe edi, edx
cmp edi, edx
je 0x10010f3c
cmp dword [esp + 0x24], edx
je 0x100112a8
mov eax, ebx
lea esi, [ebx + edx]
cmp esi, dword [esp + 8]
jae 0x100112ba
mov eax, dword [esp + 0x20]
mov al, byte [eax + edx]
lea esi, [edx + 1]
cmp al, byte [ecx + edx]
mov edx, esi
je 0x10010dfe
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
sub eax, ecx
mov esi, dword [esp + 0x2c]
cmp esi, 0xffffffff
mov ebx, dword [esp + 0x28]
je 0x10010e4b
mov dword [esp + 0x14], ecx
mov edi, eax
sub eax, dword [esp + 0xc]
cmp eax, dword [esp + 8]
jb 0x10010d46
jmp 0x10011123
mov ebx, dword [esp + 0x28]
jmp 0x10010e4b
cmp byte [esp + 0x4e], 0
jne 0x10011123
mov bl, byte [esp + 0x4d]
mov esi, dword [esp + 0x48]
test esi, esi
je 0x10011119
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
cmp esi, edx
jae 0x10010e9c
cmp byte [eax + esi], 0xbf
jg 0x10010ea2
jmp 0x100112ec
jne 0x100112ec
mov bh, byte [eax + esi - 1]
test bh, bh
js 0x10010eaf
movzx edi, bh
jmp 0x10010ef8
movzx edx, byte [eax + esi - 2]
cmp dl, 0xc0
jge 0x10010ed9
movzx ecx, byte [eax + esi - 3]
cmp cl, 0xc0
jge 0x10010ede
mov edi, esi
movzx esi, byte [eax + esi - 4]
and esi, 7
shl esi, 6
and ecx, 0x3f
or ecx, esi
mov esi, edi
jmp 0x10010ee1
and edx, 0x1f
jmp 0x10010ee9
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
shl edx, 6
and bh, 0x3f
movzx edi, bh
or edi, edx
mov edx, dword [esp + 8]
test bl, bl
jne 0x10010f3e
cmp edi, 0x110000
je 0x10011123
xor ecx, ecx
dec ecx
cmp edi, 0x80
jb 0x10010f2e
mov ecx, 0xfffffffe
cmp edi, 0x800
jb 0x10010f2e
xor ecx, ecx
cmp edi, 0x10000
setb cl
or ecx, 0xfffffffc
mov bl, 1
add esi, ecx
jne 0x10010e8d
xor esi, esi
jmp 0x10010f3e
mov esi, ebx
lea edx, [esi + 9]
mov ebx, dword [esp + 4]
lea eax, [ebx - 0x11]
mov dword [esp + 0x1c], eax
mov eax, esi
sub eax, ebx
mov dword [esp + 0x14], eax
sub ebx, esi
add ebx, 0xfffffff7
mov eax, dword [esp + 0x18]
add eax, esi
mov dword [esp + 0x20], eax
xor edi, edi
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0xc], eax
lea ecx, [esi + edi]
lea eax, [esi + edi + 9]
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x24], ecx
cmp ecx, 0xfffffff7
je 0x10010fb9
mov eax, dword [esp + 8]
cmp dword [esp + 4], eax
jbe 0x10010fac
mov eax, dword [esp + 0x20]
cmp byte [eax + edi + 9], 0xbf
jle 0x100112d3
mov eax, dword [esp + 4]
sub eax, edx
jmp 0x10010fb9
mov eax, ebx
cmp dword [esp + 0xc], 0xfffffff7
jne 0x100112d3
test eax, eax
je 0x10010fd0
mov eax, dword [esp + 0x20]
mov al, byte [eax + edi + 9]
add al, 0xd0
cmp al, 0xa
jae 0x10010fd0
inc edx
inc edi
dec ebx
jmp 0x10010f69
mov ecx, dword [esp + 0x18]
lea eax, [ecx + edi]
lea edx, [esi + eax]
add edx, 9
mov eax, dword [esp + 4]
cmp dword [esp + 0x24], 0xfffffff7
je 0x10011017
mov eax, dword [esp + 8]
cmp dword [esp + 4], eax
jbe 0x1001100e
cmp byte [edx], 0xbf
mov eax, ebx
jg 0x10011017
push 0x100560a8
mov eax, dword [esp + 8]
push eax
push dword [esp + 0x10]
push eax
push ecx
call fcn.10053c30
mov eax, ebx
cmp dword [esp + 0xc], 0xfffffff7
jne 0x10010ff9
cmp eax, 8
jb 0x10011123
mov eax, 8
push eax
mov dword [esp + 0x3c], edx
push edx
push eax
push 0x10055fe6
call fcn.100163e8
add esp, 0x10
test al, al
je 0x10011123
mov al, 1
mov dword [esp + 0x10], eax
lea eax, [edi + 0x11]
sub dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x18]
add ecx, edi
add ecx, 0x11
lea edx, [esi + edi]
add edx, 0x11
mov ebx, esi
neg ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], edx
mov edx, esi
mov ebx, dword [esp + 4]
add esi, eax
mov dword [esp + 0x14], esi
je 0x100110b5
mov esi, dword [esp + 0x14]
cmp dword [esp + 4], esi
jbe 0x100110a1
cmp byte [ecx + edx], 0xbf
jle 0x100112fb
mov ebx, dword [esp + 4]
sub ebx, dword [esp + 0x34]
jmp 0x100110b5
cmp edx, dword [esp + 0x1c]
jne 0x100112fb
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
add ebx, esi
test ebx, ebx
mov esi, edx
je 0x100110d6
mov bl, byte [ecx + esi]
add bl, 0xd0
cmp bl, 0xa
jae 0x100110d6
inc dword [esp + 0x34]
dec dword [esp + 0x1c]
inc dword [esp + 0x30]
inc eax
inc ecx
jmp 0x10011075
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 4]
jb 0x10011129
mov ebx, esi
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 8]
lea esi, [esp + 0x40]
mov eax, dword [esp + 0x18]
ja 0x100111ae
test ecx, ecx
je 0x10011194
cmp dword [esp + 4], ecx
jbe 0x10011192
cmp byte [eax + ecx], 0xc0
jge 0x10011194
jmp 0x100111ae
xor esi, esi
test bl, bl
jne 0x10010f3e
mov al, 1
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 8]
lea esi, [esp + 0x40]
mov eax, dword [ecx + 8]
mov dword [esp + 0x48], eax
movsd xmm0, qword [ecx]
movsd qword [esp + 0x40], xmm0
push esi
call fcn.1001010a
add esp, 4
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
mov al, byte [0x1006b9a9]
push 4
push 0x14
call fcn.1000f0c0
add esp, 8
test eax, eax
je 0x100112e3
xor ecx, ecx
cmp byte [esp + 0x10], 0
mov edx, dword [esp + 8]
cmovne edx, ecx
cmovne edi, ecx
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jne 0x100111ae
cmp dword [esp + 0x24], 0xfffffff7
je 0x100111c8
mov edx, dword [esp + 8]
cmp dword [esp + 4], edx
jbe 0x100111c1
mov edx, dword [esp + 0x38]
cmp byte [edx], 0xbf
jg 0x100111c8
push 0x100560c8
push dword [esp + 0xc]
push ecx
push dword [esp + 0x10]
jmp 0x100112f5
cmp dword [esp + 0xc], 0xfffffff7
jne 0x100111ae
add ecx, eax
push edi
push ecx
push esi
call fcn.10043a00
add esp, 0xc
cmp byte [esp + 0x40], 0
jne 0x1001126b
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x14]
ja 0x10011313
mov edx, dword [esp + 0x44]
cmp dword [esp + 0x24], 0xffffffef
je 0x10011238
cmp dword [esp + 4], ecx
jbe 0x1001122d
mov eax, dword [esp + 0x20]
cmp byte [edi + eax + 0x11], 0xc0
jge 0x10011238
jmp 0x10011313
push 0x10055d0c
push dword [esp + 0x10]
push edi
call fcn.100538f0
push 0x10055d1c
push dword [esp + 0xc]
push esi
call fcn.100538f0
cmp dword [esp + 0xc], 0xffffffef
jne 0x10011313
cmp dword [esp + 0x14], 0
je 0x10011249
cmp ebx, dword [esp + 0x1c]
jne 0x10011313
mov dword [esp + 8], edx
mov eax, dword [esp + 0x20]
add eax, edi
add eax, 0x11
push dword [esp + 0x30]
push eax
push esi
call fcn.10043a00
add esp, 0xc
cmp byte [esp + 0x40], 0
je 0x10011273
mov ecx, dword [ebp + 8]
jmp 0x10011130
mov edi, dword [esp + 0x44]
cmp ebx, dword [esp + 4]
mov ecx, dword [ebp + 8]
ja 0x1001129b
test ebx, ebx
je 0x10011298
cmp dword [esp + 4], ebx
jbe 0x10011298
mov eax, dword [esp + 0x18]
cmp byte [eax + ebx], 0xbf
jle 0x10011323
mov dword [ecx + 8], ebx
mov dword [esp + 0x10], 0
jmp 0x10011130
push 0x10055cec
push dword [esp + 0x10]
push dword [esp + 0x2c]
call fcn.100538f0
add ebx, dword [esp + 0x10]
mov eax, dword [esp + 8]
cmp eax, ebx
cmova ebx, eax
push 0x10055cfc
push eax
push ebx
call fcn.100538f0
push 0x10056098
mov eax, dword [esp + 8]
push eax
push dword [esp + 0x10]
jmp 0x10011309
push 0x14
push 4
call fcn.100536e0
push 0x10055d84
push esi
push 0
push edx
push eax
call fcn.10053c30
push 0x100560b8
mov eax, dword [esp + 8]
push eax
push dword [esp + 0x1c]
push eax
push dword [esp + 0x28]
call fcn.10053c30
push 0x100560d8
push dword [esp + 0x18]
push ecx
push dword [esp + 0x10]
jmp 0x1001130a
push 0x10055d74
push 0x30
push 0x10055d41
call fcn.10053850