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

Disassembly:
sub esp, 0xdc
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xd4], eax
mov eax, dword [ecx]
push ebx
mov ebx, dword [esp + 0xe4]
push ebp
mov eax, dword [eax]
push esi
push edi
xor edi, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ebx
mov esi, dword [edi + 8]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x6c], esi
cmp dword [eax + 0x24], ecx
je 0x100c7655
mov eax, dword [eax + 0xc]
jmp 0x100c8066
movzx ecx, word [esi + 0x1a]
mov edx, 0x18
mov eax, dword [esi + 0x2c]
test al, 0x20
mov dword [esp + 0x58], ecx
movzx ecx, word [esi + 0x1c]
mov dword [esp + 0x5c], ecx
movzx ecx, word [esi + 0x32]
mov dword [esp + 0x68], ecx
movzx ecx, word [esi + 0x30]
mov dword [esp + 0x60], ecx
movzx ecx, cx
mov dword [esp + 0x64], ecx
mov ecx, dword [esi]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x54], ecx
movzx ecx, word [esi + 0x16]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], eax
mov eax, 0x1bf
cmove edx, eax
movzx ecx, cx
movzx eax, word [esi + 0x18]
mov dword [esp + 0x78], ecx
mov ecx, edx
and ecx, 0xffffffc3
movzx ebp, ax
test byte [ebx + 0x38], 4
push ebx
cmove ecx, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov edx, dword [edi + 4]
push ecx
push ebp
push dword [eax + 0x2c]
lea ecx, [esp + 0x90]
mov dword [esp + 0x30], ebp
call fcn.100c4b10
mov ebp, eax
add esp, 0x10
xor eax, eax
mov word [esi + 0x12], ax
mov ecx, dword [ebx + 8]
movzx ecx, word [ecx]
mov eax, ecx
mov dword [esp + 0x74], eax
cmp ax, 0xa
jg 0x100c7703
xor eax, eax
jmp 0x100c7718
movsx eax, cx
cdq
push edx
push eax
call fcn.1002e440
add esp, 8
sub ax, 0x21
movzx eax, ax
mov dword [esp + 0x2c], eax
mov ecx, 0x100
movzx eax, ax
mov dword [esp + 0x70], eax
test ebp, ebp
je 0x100c7ee1
movzx edx, word [ebp + 0xc]
mov eax, edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x3c], eax
cmp ax, cx
je 0x100c774d
test byte [ebp + 0xa], 0x80
je 0x100c777d
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x20]
movsx ecx, word [eax + ecx*2]
test ecx, ecx
js 0x100c7774
mov eax, dword [ebx + 0xc]
add ecx, ecx
mov eax, dword [eax + 4]
test dword [eax + ecx*8 + 4], 0xf
jne 0x100c7ec3
jmp 0x100c777d
cmp ecx, 0xffffffff
je 0x100c7ec3
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and ecx, dword [esi + 8]
and eax, dword [esi + 0xc]
or ecx, eax
jne 0x100c7ec3
mov eax, 0x100
test word [ebp + 0xa], ax
je 0x100c77a5
cmp edx, 0x10
je 0x100c7ec3
mov eax, dword [esp + 0x34]
mov cl, byte [eax + 0x24]
test cl, 0x58
je 0x100c77e2
mov eax, dword [ebp]
mov edx, dword [eax + 4]
test dl, 3
je 0x100c7ec3
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0x24]
cmp eax, dword [edi + 0x2c]
mov edi, dword [esp + 0x24]
jne 0x100c7ec3
test cl, 0x18
je 0x100c77e2
test dl, 2
jne 0x100c7ec3
cmp byte [ebx + 0x36], 0
je 0x100c77f9
movzx eax, word [ebx + 0x32]
dec eax
cmp dword [esp + 0x20], eax
jne 0x100c77f9
or byte [edi + 0x10], 2
jmp 0x100c77fd
or byte [edi + 0x10], 1
mov eax, dword [esp + 0x48]
movzx ecx, word [esi + 0x34]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x44]
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x58]
mov word [esi + 0x1a], ax
mov eax, dword [esp + 0x5c]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x60]
mov word [esi + 0x30], ax
cmp word [esp + 0x64], cx
jb 0x100c788b
movzx edi, ax
inc edi
cmp ecx, edi
jae 0x100c788b
mov ecx, dword [esp + 0x30]
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.10028280
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100c7ee1
movzx ecx, word [esi + 0x34]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push ebx
call fcn.1013c1a0
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x100c7884
mov ecx, dword [esp + 0x30]
call fcn.10027de0
mov dword [esi + 0x38], ebx
mov word [esi + 0x34], di
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov edi, dword [esp + 0x50]
mov dword [eax + ecx*4], ebp
mov ax, word [esi + 0x30]
mov ecx, dword [esi + 8]
inc ax
mov word [esi + 0x30], ax
not ecx
mov edx, dword [ebp + 0x24]
or edi, dword [ebp + 0x20]
or edx, dword [esp + 0x54]
and edi, ecx
movzx ebx, ax
mov eax, dword [esi + 0xc]
not eax
mov dword [esi], edi
and edx, eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 4], edx
test al, 1
je 0x100c79d8
mov edx, dword [ebp]
test dword [edx + 4], 0x1000
je 0x100c7950
lea edi, [ebx - 1]
mov dword [esp + 0x1c], 0x2e
xor ecx, ecx
test edi, edi
jle 0x100c7971
mov ebx, dword [esi + 0x38]
mov esi, dword [esp + 0x1c]
mov eax, dword [ebx + ecx*4]
test eax, eax
je 0x100c790d
cmp dword [eax], edx
mov dword [esp + 0x1c], 0
cmove esi, dword [esp + 0x1c]
inc ecx
cmp ecx, edi
jl 0x100c78f7
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
test byte [eax + 0x38], 0x80
je 0x100c79c4
cmp word [esp + 0x2c], 0xa
jl 0x100c79c4
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x20]
movzx edi, cx
movzx ebx, word [eax + edx*2]
cmp di, 0xa
jg 0x100c7978
xor eax, eax
jmp 0x100c798d
mov eax, dword [edx + 0x14]
test eax, eax
je 0x100c791a
mov eax, dword [eax]
test eax, eax
je 0x100c791a
cdq
push edx
push eax
call fcn.1002e440
movsx ecx, ax
add esp, 8
mov dword [esp + 0x1c], ecx
jmp 0x100c791e
mov ecx, 0x2e
jmp 0x100c791e
movsx eax, di
cdq
push edx
push eax
call fcn.1002e440
add esp, 8
sub ax, 0x21
movzx eax, ax
sub eax, edi
sub eax, dword [esp + 0x2c]
add eax, 0xa
add eax, ebx
test ax, ax
jns 0x100c79c4
cmp word [esp + 0xf4], 2
jge 0x100c7ebb
mov eax, dword [esp + 0x30]
test dword [eax + 0x50], 0x20000
jne 0x100c7ebb
or dword [esi + 0x2c], 0x100000
or dword [esi + 0x2c], 4
mov edx, dword [esi + 0x2c]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x100c7b96
test al, 0x82
je 0x100c7a73
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, dword [ebx + 4]
movsx eax, word [eax + ecx*2]
mov ecx, dword [esi + 0x2c]
or ecx, 1
mov dword [esi + 0x2c], ecx
cmp eax, 0xffffffff
je 0x100c7a44
mov edi, ecx
mov edx, ecx
test eax, eax
js 0x100c7a51
cmp word [esp + 0xf4], 0
jne 0x100c7a51
movzx eax, word [ebx + 0x32]
mov ebx, eax
dec eax
cmp dword [esp + 0x20], eax
jne 0x100c7a51
mov eax, dword [esp + 0x14]
test byte [eax + 0x38], 8
jne 0x100c7a44
cmp ebx, 1
jne 0x100c7a3a
cmp byte [eax + 0x36], 0
je 0x100c7a3a
cmp word [esp + 0x3c], 2
je 0x100c7a44
mov edx, ecx
or edx, 0x10000
jmp 0x100c7a4c
mov edx, ecx
or edx, 0x1000
mov edi, edx
mov dword [esi + 0x2c], edx
cmp byte [esp + 0x99], 1
jbe 0x100c7a66
mov edx, edi
or edx, 0x200000
mov dword [esi + 0x2c], edx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x100c7b96
mov edi, dword [esp + 0x20]
test eax, 0x100
je 0x100c7a90
mov edx, dword [esi + 0x2c]
mov ebx, dword [esp + 0x28]
or edx, 8
mov dword [esi + 0x2c], edx
jmp 0x100c7b96
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
push ebp
push edi
push dword [esp + 0x1c]
mov edx, dword [eax + 0x2c]
call fcn.100c73d0
mov edx, dword [esi + 0x2c]
add esp, 0xc
test byte [esp + 0x3c], 0x24
je 0x100c7b6e
or edx, 0x22
mov word [esi + 0x1a], ax
xor edi, edi
mov dword [esi + 0x2c], edx
mov eax, 0x100
mov dword [esp + 0x38], ebp
mov dword [esp + 0x28], edi
test word [ebp + 0xa], ax
je 0x100c7b64
movzx edi, word [esi + 0x30]
lea eax, [ebp + 0x30]
mov dword [esp + 0x28], eax
inc edi
movzx eax, word [esi + 0x34]
cmp eax, edi
jae 0x100c7b42
mov ecx, dword [esp + 0x30]
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.10028280
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100c7ee1
movzx ecx, word [esi + 0x34]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push ebx
call fcn.1013c1a0
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x100c7b3b
mov ecx, dword [esp + 0x30]
call fcn.10027de0
mov dword [esi + 0x38], ebx
mov word [esi + 0x34], di
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], edi
mov eax, 1
inc word [esi + 0x30]
or dword [esi + 0x2c], 0x10
mov edx, dword [esi + 0x2c]
mov word [esi + 0x1c], ax
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x100c7b96
or edx, 0x12
mov word [esi + 0x1c], ax
mov dword [esi + 0x2c], edx
mov ebx, ebp
mov dword [esp + 0x28], ebx
test dl, 0x20
je 0x100c7b90
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4 - 8]
jmp 0x100c7b92
xor ecx, ecx
mov dword [esp + 0x38], ecx
test dl, 2
je 0x100c7c30
movzx eax, word [esi + 0x16]
mov ebp, dword [esp + 0x38]
movsx edi, ax
test ebp, ebp
je 0x100c7bc4
movzx ecx, word [ebp + 8]
test cx, cx
jg 0x100c7bbb
add eax, ecx
jmp 0x100c7bc4
test byte [ebp + 0xa], 0x80
jne 0x100c7bc4
sub eax, 0x14
movzx ecx, ax
test ebx, ebx
je 0x100c7be4
movzx edx, word [ebx + 8]
test dx, dx
jg 0x100c7bd8
add eax, edx
jmp 0x100c7be1
test byte [ebx + 0xa], 0x80
jne 0x100c7be4
add eax, 0xffffffec
movzx ecx, ax
movzx edx, cx
test ebp, ebp
je 0x100c7c03
cmp word [ebp + 8], 0
jle 0x100c7c03
test ebx, ebx
je 0x100c7c03
cmp word [ebx + 8], 0
jle 0x100c7c03
lea eax, [ecx - 0x14]
movzx edx, ax
xor ecx, ecx
test ebp, ebp
setne cl
xor eax, eax
test ebx, ebx
setne al
add ecx, eax
mov eax, 0xa
sub edi, ecx
cmp dx, 0xa
cmovl edx, eax
movzx eax, dx
cmp eax, edi
cmovl edi, eax
movzx eax, di
mov ebp, eax
jmp 0x100c7c8d
inc word [esi + 0x18]
movzx ecx, word [ebp + 8]
movzx edx, word [esi + 0x18]
test cx, cx
jg 0x100c7c5e
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cmp word [eax + edi*2], 0
jl 0x100c7c5e
sub ecx, dword [esp + 0x1c]
add cx, word [esi + 0x16]
movzx eax, cx
mov ebp, eax
jmp 0x100c7c8d
mov eax, dword [esp + 0x14]
mov cx, word [esi + 0x16]
mov eax, dword [eax + 8]
sub cx, word [eax + edx*2 - 2]
add cx, word [eax + edx*2]
test dword [esp + 0x3c], 0x100
movzx eax, cx
mov ecx, eax
mov word [esi + 0x16], ax
mov ebp, eax
je 0x100c7c91
lea eax, [ecx + 0xa]
movzx ebp, ax
mov word [esi + 0x16], ax
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x10]
movzx ebx, ax
mov eax, dword [ecx + 0x38]
and eax, 3
cmp al, 3
jne 0x100c7ca9
mov edi, ebx
jmp 0x100c7cc8
movsx ecx, word [ecx + 0x30]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [esp + 0x34]
cdq
mov ecx, dword [ecx + 0x10]
movsx ecx, word [ecx + 0x28]
idiv ecx
inc eax
add eax, ebp
movzx edi, ax
mov eax, ebx
movsx edx, di
movzx ebx, ax
mov eax, dword [esp + 0x70]
movsx ecx, ax
cmp word [esp + 0x2c], di
jl 0x100c7d09
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x100c7ceb
mov eax, dword [esp + 0x2c]
jmp 0x100c7d2d
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x100c7cf9
mov eax, dword [esp + 0x2c]
inc eax
jmp 0x100c7d2d
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, word [esp + 0x2c]
jmp 0x100c7d2d
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x100c7d15
movzx ecx, di
jmp 0x100c7d30
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x100c7d21
lea eax, [edi + 1]
jmp 0x100c7d2d
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, di
movzx ecx, ax
test dword [esi + 0x2c], 0x4000140
movzx eax, cx
jne 0x100c7d99
movsx edi, bp
add edi, 0x10
movsx edx, cx
cmp cx, bx
jl 0x100c7d70
lea eax, [edi + 0x31]
cmp edx, eax
jle 0x100c7d56
movzx eax, cx
jmp 0x100c7d96
lea eax, [edi + 0x1f]
cmp edx, eax
jle 0x100c7d62
lea eax, [ecx + 1]
jmp 0x100c7d93
sub edx, edi
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, cx
jmp 0x100c7d93
lea eax, [edx + 0x31]
cmp edi, eax
jle 0x100c7d7b
mov eax, ebx
jmp 0x100c7d96
lea eax, [edx + 0x1f]
cmp edi, eax
jle 0x100c7d87
lea eax, [ebx + 1]
jmp 0x100c7d93
sub edi, edx
movzx eax, byte [edi + str._n_n_t_t_b_b_a_a_a]
add ax, bx
movzx eax, ax
movzx eax, ax
mov edi, dword [esp + 0x1c]
mov edx, esi
mov ebx, dword [esp + 0x24]
push dword [esp + 0x74]
movzx ecx, di
add eax, ecx
add eax, dword [esp + 0xf8]
mov word [esi + 0x14], ax
lea eax, [ecx + ebp]
add eax, dword [esp + 0xf8]
mov word [esi + 0x16], ax
mov ecx, dword [ebx + 4]
call fcn.100c7180
add esp, 4
mov edx, esi
mov ecx, ebx
call fcn.100c6ec0
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x18], eax
test dl, 2
je 0x100c7dee
mov eax, dword [esp + 0x78]
movzx ecx, ax
jmp 0x100c7df1
movzx ecx, bp
mov ebx, dword [esp + 0x14]
mov word [esi + 0x16], cx
test dl, 0x10
jne 0x100c7ead
movzx ecx, word [esi + 0x18]
cmp cx, word [ebx + 0x34]
jae 0x100c7ead
cmp cx, word [ebx + 0x32]
jb 0x100c7e23
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x100c7ead
cmp ecx, 3
jbe 0x100c7e86
mov ebp, dword [esp + 0x4c]
mov ecx, dword [ebp]
cmp dword [ecx + 0x128], 0
je 0x100c7e42
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], 9
cmp dword [ecx + 0x174], 0
je 0x100c7e86
cmp dword [ebp + 0xc], 9
je 0x100c7e7f
mov eax, dword [ebp + 0x70]
inc eax
mov dword [ebp + 0x70], eax
cmp eax, dword [ecx + 0x17c]
jb 0x100c7e86
push dword [ecx + 0x178]
mov eax, dword [ecx + 0x174]
call eax
add esp, 4
test eax, eax
je 0x100c7e7f
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], 9
mov dword [ebp + 0x70], 0
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0x34]
add eax, edi
mov edi, dword [esp + 0x24]
mov ecx, edi
push eax
push ebx
call fcn.100c75f0
mov eax, dword [esp + 0x48]
add esp, 8
mov word [esi + 0x16], ax
jmp 0x100c7ec3
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
mov word [esi + 0x16], ax
jmp 0x100c7ec3
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x80]
call fcn.100c47f0
cmp dword [esp + 0x18], 0
mov ebp, eax
mov ecx, 0x100
je 0x100c7728
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov dword [esi], eax
mov eax, dword [esp + 0x54]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x58]
mov word [esi + 0x1a], ax
mov eax, dword [esp + 0x5c]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x40]
mov word [esi + 0x18], bx
mov word [esi + 0x32], dx
mov word [esi + 0x16], ax
mov word [esi + 0x30], cx
cmp bx, dx
jne 0x100c8062
mov edx, dword [esp + 0x14]
movzx eax, bx
inc eax
movzx ecx, word [edx + 0x32]
cmp eax, ecx
jae 0x100c8062
mov ebp, dword [esp + 0x64]
cmp bx, bp
jne 0x100c8062
mov eax, dword [edx + 0x38]
test al, 0x40
jne 0x100c8062
test al, al
jns 0x100c8062
mov ecx, dword [esp + 0x30]
test dword [ecx + 0x50], 0x4000
jne 0x100c8062
mov eax, dword [edx + 8]
movzx ebx, bx
cmp word [eax + ebx*2 + 2], 0x2a
jl 0x100c8062
movzx eax, word [esi + 0x34]
movzx edi, bp
inc edi
cmp eax, edi
jae 0x100c7fe9
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.10028280
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x100c7fb7
lea eax, [ebp + 7]
jmp 0x100c8066
movzx eax, word [esi + 0x34]
shl eax, 2
push eax
push dword [esi + 0x38]
push ebp
call fcn.1013c1a0
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x100c7fde
mov ecx, dword [esp + 0x30]
call fcn.10027de0
mov edx, dword [esp + 0x14]
mov dword [esi + 0x38], ebp
mov word [esi + 0x34], di
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
inc word [esi + 0x18]
inc word [esi + 0x32]
mov dword [esp + 0x18], 0
mov dword [eax + ecx*4], 0
inc word [esi + 0x30]
or dword [esi + 0x2c], 0x8000
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x24]
mov di, word [eax + ebx*2]
sub di, word [eax + ebx*2 + 2]
mov eax, dword [esp + 0xf4]
movzx edi, di
add eax, 5
sub word [esi + 0x16], di
add eax, edi
push eax
push edx
mov edx, dword [esp + 0x3c]
call fcn.100c75f0
mov eax, dword [esp + 0x48]
add esp, 8
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x44]
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x68]
mov word [esi + 0x32], ax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1013942d
add esp, 0xdc
ret