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

Disassembly:
sub esp, 0xbc
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x44], 1
mov ebx, dword [edi + 8]
mov esi, dword [edi]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x34], esi
movzx eax, byte [ebx + 0x10]
lea edx, [eax + eax*8]
mov eax, dword [esi + 4]
lea edx, [edx + 1]
test byte [eax + edx*8 + 0x28], 2
lea ecx, [eax + edx*8]
mov edx, dword [ecx + 0x10]
mov eax, dword [edi + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x40], eax
je 0x100c5f96
mov ebp, dword [ecx + 0x44]
jmp 0x100c6046
test byte [edx + 0x1c], 0x80
je 0x100c5fa4
mov ebp, dword [edx + 8]
jmp 0x100c6046
lea eax, [esp + 0x4c]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], eax
xorps xmm0, xmm0
lea eax, [esp + 0x48]
movlpd qword [esp + 0x97], xmm0
mov dword [esp + 0x68], eax
mov eax, 3
or dword [esp + 0x98], eax
mov word [esp + 0x90], ax
movlpd qword [esp + 0x70], xmm0
movlpd qword [esp + 0x78], xmm0
movlpd qword [esp + 0x80], xmm0
movlpd qword [esp + 0x88], xmm0
movlpd qword [esp + 0x9f], xmm0
mov byte [esp + 0xa7], 0
mov dword [esp + 0x92], 0x10001
mov byte [esp + 0x96], 5
mov dword [esp + 0x6c], edx
mov ax, word [edx + 0x26]
mov word [esp + 0x48], ax
xor eax, eax
mov word [esp + 0x4a], ax
test byte [ecx + 0x28], 1
jne 0x100c6042
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x74], eax
lea ebp, [esp + 0x60]
mov eax, edx
mov edx, 0x1c
lea edi, [eax + edx]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], edi
movzx edx, word [eax + 0x26]
mov eax, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0xc], 0
jne 0x100c6287
mov eax, 0x1020
test word [esi + 0x28], ax
jne 0x100c6287
mov eax, dword [esi]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
and eax, 0x8000
or eax, 0
je 0x100c6287
test byte [ecx + 0x28], 0x4b
jne 0x100c6287
test byte [edi], 0x80
jne 0x100c6287
test byte [ecx + 0x24], 0x10
jne 0x100c6287
mov eax, dword [esp + 0x40]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, esi
mov dword [esp + 0x3c], eax
cmp dx, 0xa
jg 0x100c60d1
xor edi, edi
jmp 0x100c60ee
movsx eax, dx
cdq
push edx
push eax
call fcn.1002cee0
mov ecx, dword [esp + 0x1c]
add esp, 8
sub ax, 0x21
movzx edi, ax
mov eax, dword [esp + 0x3c]
xor edx, edx
cmp esi, eax
jae 0x100c6287
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
mov ecx, dword [esp + 0x14]
jne 0x100c626b
mov edx, dword [ecx + 0x2c]
cmp dword [esi + 0x14], edx
jne 0x100c6267
test byte [esi + 0xc], 0x82
je 0x100c6267
mov cl, byte [ecx + 0x24]
test cl, 0x58
je 0x100c6152
mov eax, dword [esi]
test byte [eax + 4], 3
je 0x100c6263
cmp dword [eax + 0x24], edx
jne 0x100c6263
test cl, 0x18
je 0x100c6152
test byte [eax + 4], 2
jne 0x100c6263
mov edx, dword [esi + 0x18]
test edx, edx
js 0x100c6263
mov eax, dword [esp + 0x14]
add edx, edx
mov ecx, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dl, byte [eax + edx*8 + 8]
call fcn.100667c0
test eax, eax
je 0x100c6263
mov eax, dword [ebx + 0x38]
mov ecx, 1
mov edx, dword [esp + 0x38]
mov word [ebx + 0x18], cx
mov dword [ebx + 0x30], ecx
mov dword [ebx + 0x20], 0
mov dword [eax], esi
mov eax, dword [esp + 0x20]
add eax, edi
mov word [ebx + 0x12], ax
cmp byte [edx + 0x2b], 2
je 0x100c61b9
mov edx, dword [esp + 0x24]
test dword [edx], 0x4000
jne 0x100c61b9
add eax, 0x1c
jmp 0x100c61bc
add eax, 0xffffffe7
movzx eax, ax
lea edx, [ebx + 0x12]
mov word [edx], ax
test ax, ax
jns 0x100c61d0
xor eax, eax
mov word [ebx + 0x12], ax
mov eax, 0x2b
movsx ecx, di
mov word [ebx + 0x16], ax
cmp di, ax
jl 0x100c6201
cmp ecx, 0x5c
jle 0x100c61eb
movzx eax, di
jmp 0x100c6230
cmp ecx, 0x4a
jle 0x100c61f5
lea eax, [edi + 1]
jmp 0x100c622d
movzx eax, byte [ecx + 0x10165725]
add ax, di
jmp 0x100c622d
lea eax, [ecx + 0x31]
cmp eax, 0x2b
jge 0x100c6210
mov eax, 0x2b
jmp 0x100c6230
lea eax, [ecx + 0x1f]
cmp eax, 0x2b
jge 0x100c621f
mov eax, 0x2c
jmp 0x100c6230
mov eax, 0x1016577b
sub eax, ecx
movzx eax, byte [eax]
add ax, 0x2b
movzx eax, ax
mov ecx, dword [esp + 0xd0]
mov edx, ebx
mov word [ebx + 0x14], ax
mov dword [ebx + 0x2c], 0x4000
or ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
or eax, dword [esp + 0xd4]
mov dword [ebx], ecx
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 4], eax
call fcn.100c4640
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
add esi, 0x30
test edx, edx
je 0x100c60f0
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
mov eax, dword [esp + 0x18]
nop dword [eax + eax]
test ebp, ebp
je 0x100c66a2
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x100c62ba
mov dl, byte [ecx + 0x24]
mov ecx, dword [ecx + 0x2c]
push eax
push dword [esp + 0x44]
call fcn.100c5960
add esp, 8
test eax, eax
je 0x100c6674
test dword [ebp + 0x38], 0x100
jne 0x100c6674
mov eax, dword [ebp + 8]
mov edx, ebp
mov ecx, dword [esp + 0x1c]
movzx edi, word [eax]
xor eax, eax
mov dword [ebx + 0x18], eax
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x30], eax
mov byte [ebx + 0x11], al
mov word [ebx + 0x12], ax
mov eax, dword [esp + 0xd0]
mov dword [ebx], eax
mov eax, dword [esp + 0xd4]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x14]
mov word [ebx + 0x16], di
mov dword [ebx + 0x20], ebp
mov dword [esp + 0x20], edi
push dword [eax + 0x2c]
call fcn.100c5800
mov edx, dword [ebp + 0x38]
add esp, 4
mov ecx, edx
mov esi, eax
and ecx, 3
mov dword [esp + 0x24], esi
cmp cl, 3
jne 0x100c6370
mov eax, dword [esp + 0x44]
xor edx, edx
movzx ecx, al
test esi, esi
lea eax, [edi + 0x10]
mov dword [ebx + 0x2c], 0x100
cmovne edx, ecx
mov word [ebx + 0x14], ax
mov ecx, dword [esp + 0x40]
mov byte [ebx + 0x11], dl
mov edx, ebx
push edi
call fcn.100c4900
mov ecx, dword [esp + 0x20]
add esp, 4
mov edx, ebx
call fcn.100c4640
mov word [ebx + 0x16], di
test eax, eax
jne 0x100c66a2
jmp 0x100c6644
test dl, 0x20
je 0x100c638b
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp 0x100c642b
mov ecx, dword [esp + 0x14]
mov esi, dword [ebp + 0x40]
mov edi, dword [ebp + 0x44]
mov eax, dword [ebp + 0x24]
and esi, dword [ecx + 0x38]
and edi, dword [ecx + 0x3c]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
test eax, eax
je 0x100c63d0
push 0
push 0
lea ecx, [esp + 0x30]
mov edx, ebp
push ecx
push eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
call fcn.100c5d00
mov edi, dword [esp + 0x3c]
add esp, 0x10
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0x2c], 0x200
test esi, esi
jne 0x100c63e3
cmp edi, 0x80000000
je 0x100c63fa
mov eax, dword [ebp + 0x38]
test eax, 0x800
je 0x100c6425
test eax, 0x400
jne 0x100c6425
mov eax, esi
or eax, edi
je 0x100c642b
push dword [ecx + 0x2c]
mov ecx, dword [esp + 0x38]
mov edx, ebp
call fcn.100c5b60
add esp, 4
test eax, eax
je 0x100c641b
or dword [ebx + 0x2c], eax
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp 0x100c6432
mov eax, esi
or eax, edi
jne 0x100c6432
mov dword [ebx + 0x2c], 0x240
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x100c649d
mov ecx, dword [esp + 0x38]
test byte [ecx + 0x1c], 0x80
jne 0x100c649d
cmp dword [ebp + 0x24], edx
jne 0x100c649d
mov eax, dword [esp + 0x14]
test byte [eax + 0x28], 2
jne 0x100c649d
mov eax, esi
or eax, edi
jne 0x100c6644
test byte [ebp + 0x38], 4
jne 0x100c6644
mov ax, word [ebp + 0x30]
cmp ax, word [ecx + 0x28]
jge 0x100c6644
mov eax, dword [esp + 0x34]
test byte [eax + 0x28], 4
jne 0x100c6644
cmp byte [0x10177b4f], dl
je 0x100c6644
mov eax, dword [eax]
mov eax, dword [eax]
test byte [eax + 0x50], 0x20
jne 0x100c6644
mov eax, dword [esp + 0x44]
xor ecx, ecx
movzx eax, al
test edx, edx
cmovne ecx, eax
mov byte [ebx + 0x11], cl
movsx ecx, word [ebp + 0x30]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [esp + 0x38]
cdq
movsx ecx, word [ecx + 0x28]
idiv ecx
mov ecx, dword [esp + 0x20]
inc eax
add eax, ecx
or esi, edi
mov word [ebx + 0x14], ax
je 0x100c6606
mov edx, dword [esp + 0x34]
lea eax, [ecx + 0x10]
movzx esi, ax
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x50], eax
cmp dword [edx + 0x5c], ecx
jle 0x100c65a2
mov ebx, dword [esp + 0x50]
xor eax, eax
mov dword [esp + 0x24], eax
mov edi, dword [edx + 0x68]
xorps xmm0, xmm0
mov edx, dword [edi + eax]
add edi, eax
mov dword [esp + 0xac], 0
lea eax, [esp + 0x58]
movlpd qword [esp + 0xb4], xmm0
movlpd qword [esp + 0xbc], xmm0
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0xb0], 0x10070ea0
mov dword [esp + 0xc4], eax
test edx, edx
je 0x100c655f
lea ecx, [esp + 0xac]
call fcn.10062e00
mov ecx, dword [esp + 0x3c]
cmp word [esp + 0xc0], 0
jne 0x100c659e
movzx eax, word [edi + 8]
test ax, ax
jg 0x100c6577
add esi, eax
jmp 0x100c6581
dec esi
test byte [edi + 0xc], 0x82
je 0x100c6581
sub esi, 0x13
mov edx, dword [esp + 0x34]
inc ecx
mov eax, dword [esp + 0x24]
add eax, 0x30
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x24], eax
cmp ecx, dword [edx + 0x5c]
jl 0x100c6505
mov ebx, dword [esp + 0x54]
movzx edi, word [ebx + 0x14]
movsx ecx, di
movsx edx, si
cmp di, si
jl 0x100c65d6
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x100c65bc
mov eax, edi
jmp 0x100c65fe
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x100c65c8
lea eax, [edi + 1]
jmp 0x100c65fb
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, di
jmp 0x100c65fb
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x100c65e2
movzx eax, si
jmp 0x100c65fe
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x100c65ef
inc esi
movzx eax, si
jmp 0x100c65fe
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, si
movzx eax, ax
mov ecx, dword [esp + 0x20]
mov word [ebx + 0x14], ax
push ecx
mov ecx, dword [esp + 0x44]
mov edx, ebx
call fcn.100c4900
mov eax, dword [esp + 0x18]
add esp, 4
test byte [eax + 0x24], 0x10
je 0x100c6625
cmp dword [ebp + 0x28], 0
jne 0x100c6634
mov ecx, dword [esp + 0x1c]
mov edx, ebx
call fcn.100c4640
mov ecx, eax
jmp 0x100c6638
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov word [ebx + 0x16], ax
test ecx, ecx
jne 0x100c66a0
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov edx, dword [esp + 0x14]
push 0
push ebp
mov byte [edi + 0x10], 0
call fcn.100c4d70
add esp, 8
mov dword [esp + 0x18], eax
cmp byte [edi + 0x10], 1
jne 0x100c6678
mov ecx, dword [esp + 0x38]
or dword [ecx + 0x1c], 0x100
jmp 0x100c6678
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test byte [ecx + 0x28], 2
je 0x100c6686
xor ebp, ebp
jmp 0x100c6689
mov ebp, dword [ebp + 0x14]
inc dword [esp + 0x44]
test eax, eax
je 0x100c6290
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret