Function at 0x100c4d70
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 0x100c4dd5
mov eax, dword [eax + 0xc]
jmp 0x100c57df
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 + 0x64], ecx
movzx ecx, word [esi + 0x30]
mov dword [esp + 0x60], ecx
movzx ecx, cx
mov dword [esp + 0x68], 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.100c2290
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 0x100c4e83
xor eax, eax
jmp 0x100c4e98
movsx eax, cx
cdq
push edx
push eax
call fcn.1002cee0
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 0x100c565e
movzx edx, word [ebp + 0xc]
mov eax, edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x3c], eax
cmp ax, cx
je 0x100c4ecd
test byte [ebp + 0xa], 0x80
je 0x100c4efd
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x20]
movsx ecx, word [eax + ecx*2]
test ecx, ecx
js 0x100c4ef4
mov eax, dword [ebx + 0xc]
add ecx, ecx
mov eax, dword [eax + 4]
test dword [eax + ecx*8 + 4], 0xf
jne 0x100c5640
jmp 0x100c4efd
cmp ecx, 0xffffffff
je 0x100c5640
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and ecx, dword [esi + 8]
and eax, dword [esi + 0xc]
or ecx, eax
jne 0x100c5640
mov eax, 0x100
test word [ebp + 0xa], ax
je 0x100c4f25
cmp edx, 0x10
je 0x100c5640
mov eax, dword [esp + 0x34]
mov cl, byte [eax + 0x24]
test cl, 0x58
je 0x100c4f62
mov eax, dword [ebp]
mov edx, dword [eax + 4]
test dl, 3
je 0x100c5640
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0x24]
cmp eax, dword [edi + 0x2c]
mov edi, dword [esp + 0x24]
jne 0x100c5640
test cl, 0x18
je 0x100c4f62
test dl, 2
jne 0x100c5640
cmp byte [ebx + 0x36], 0
je 0x100c4f79
movzx eax, word [ebx + 0x32]
dec eax
cmp dword [esp + 0x20], eax
jne 0x100c4f79
or byte [edi + 0x10], 2
jmp 0x100c4f7d
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
mov eax, dword [esp + 0x68]
cmp ax, cx
jb 0x100c500d
movzx edi, ax
inc edi
cmp ecx, edi
jae 0x100c500d
mov ecx, dword [esp + 0x30]
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.10026f30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100c565e
movzx ecx, word [esi + 0x34]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push ebx
call fcn.10139d00
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x100c5006
mov ecx, dword [esp + 0x30]
call fcn.10026a90
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
test byte [esp + 0x3c], 1
mov dword [esi + 4], edx
je 0x100c5159
mov edx, dword [ebp]
test dword [edx + 4], 0x1000
je 0x100c50d1
lea edi, [ebx - 1]
mov dword [esp + 0x1c], 0x2e
xor ecx, ecx
test edi, edi
jle 0x100c50f2
mov ebx, dword [esi + 0x38]
mov esi, dword [esp + 0x1c]
mov eax, dword [ebx + ecx*4]
test eax, eax
je 0x100c508e
cmp dword [eax], edx
mov dword [esp + 0x1c], 0
cmove esi, dword [esp + 0x1c]
inc ecx
cmp ecx, edi
jl 0x100c5078
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 0x100c5145
cmp word [esp + 0x2c], 0xa
jl 0x100c5145
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x20]
movzx edi, cx
movzx ebx, word [eax + edx*2]
cmp di, 0xa
jg 0x100c50f9
xor eax, eax
jmp 0x100c510e
mov eax, dword [edx + 0x14]
test eax, eax
je 0x100c509b
mov eax, dword [eax]
test eax, eax
je 0x100c509b
cdq
push edx
push eax
call fcn.1002cee0
movsx ecx, ax
add esp, 8
mov dword [esp + 0x1c], ecx
jmp 0x100c509f
mov ecx, 0x2e
jmp 0x100c509f
movsx eax, di
cdq
push edx
push eax
call fcn.1002cee0
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 0x100c5145
cmp word [esp + 0xf4], 2
jge 0x100c5638
mov eax, dword [esp + 0x30]
test dword [eax + 0x50], 0x20000
jne 0x100c5638
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 0x100c5313
mov ebx, dword [esp + 0x3c]
test bl, 0x82
je 0x100c51f1
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 4]
movsx eax, word [eax + ecx*2]
mov ecx, dword [esi + 0x2c]
or ecx, 1
mov dword [esi + 0x2c], ecx
cmp eax, 0xffffffff
je 0x100c51c6
mov edx, ecx
test eax, eax
js 0x100c51d1
cmp word [esp + 0xf4], 0
jne 0x100c51d1
movzx eax, word [edi + 0x32]
mov edi, eax
dec eax
cmp dword [esp + 0x20], eax
jne 0x100c51d1
mov eax, dword [esp + 0x14]
test byte [eax + 0x38], 8
jne 0x100c51c6
cmp edi, 1
jne 0x100c51bc
cmp byte [eax + 0x36], 0
je 0x100c51bc
cmp bx, 2
je 0x100c51c6
mov edx, ecx
or edx, 0x10000
jmp 0x100c51ce
mov edx, ecx
or edx, 0x1000
mov dword [esi + 0x2c], edx
cmp byte [esp + 0x99], 1
jbe 0x100c51e4
or edx, 0x200000
mov dword [esi + 0x2c], edx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x100c5313
mov edi, dword [esp + 0x20]
test ebx, 0x100
je 0x100c520f
mov edx, dword [esi + 0x2c]
mov ebx, dword [esp + 0x28]
or edx, 8
mov dword [esi + 0x2c], edx
jmp 0x100c5313
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.100c4b50
mov edx, dword [esi + 0x2c]
add esp, 0xc
test bl, 0x24
je 0x100c52eb
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 0x100c52e1
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 0x100c52bf
mov ecx, dword [esp + 0x30]
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.10026f30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100c565e
movzx ecx, word [esi + 0x34]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push ebx
call fcn.10139d00
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x100c52b8
mov ecx, dword [esp + 0x30]
call fcn.10026a90
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 0x100c5313
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 0x100c530d
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4 - 8]
jmp 0x100c530f
xor ecx, ecx
mov dword [esp + 0x38], ecx
test dl, 2
je 0x100c53ad
movzx eax, word [esi + 0x16]
mov ebp, dword [esp + 0x38]
movsx edi, ax
test ebp, ebp
je 0x100c5341
movzx ecx, word [ebp + 8]
test cx, cx
jg 0x100c5338
add eax, ecx
jmp 0x100c5341
test byte [ebp + 0xa], 0x80
jne 0x100c5341
sub eax, 0x14
movzx ecx, ax
test ebx, ebx
je 0x100c5361
movzx edx, word [ebx + 8]
test dx, dx
jg 0x100c5355
add eax, edx
jmp 0x100c535e
test byte [ebx + 0xa], 0x80
jne 0x100c5361
add eax, 0xffffffec
movzx ecx, ax
movzx edx, cx
test ebp, ebp
je 0x100c5380
cmp word [ebp + 8], 0
jle 0x100c5380
test ebx, ebx
je 0x100c5380
cmp word [ebx + 8], 0
jle 0x100c5380
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 0x100c540a
inc word [esi + 0x18]
movzx ecx, word [ebp + 8]
movzx edx, word [esi + 0x18]
test cx, cx
jg 0x100c53db
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cmp word [eax + edi*2], 0
jl 0x100c53db
sub ecx, dword [esp + 0x1c]
add cx, word [esi + 0x16]
movzx eax, cx
mov ebp, eax
jmp 0x100c540a
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov cx, word [eax + edx*2]
sub cx, word [eax + edx*2 - 2]
add cx, word [esi + 0x16]
test dword [esp + 0x3c], 0x100
movzx eax, cx
mov ecx, eax
mov word [esi + 0x16], ax
mov ebp, eax
je 0x100c540e
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 0x100c5426
mov edi, ebx
jmp 0x100c5445
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 0x100c5486
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x100c5468
mov eax, dword [esp + 0x2c]
jmp 0x100c54aa
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x100c5476
mov eax, dword [esp + 0x2c]
inc eax
jmp 0x100c54aa
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, word [esp + 0x2c]
jmp 0x100c54aa
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x100c5492
movzx ecx, di
jmp 0x100c54ad
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x100c549e
lea eax, [edi + 1]
jmp 0x100c54aa
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 0x100c5516
movsx edi, bp
add edi, 0x10
movsx edx, cx
cmp cx, bx
jl 0x100c54ed
lea eax, [edi + 0x31]
cmp edx, eax
jle 0x100c54d3
movzx eax, cx
jmp 0x100c5513
lea eax, [edi + 0x1f]
cmp edx, eax
jle 0x100c54df
lea eax, [ecx + 1]
jmp 0x100c5510
sub edx, edi
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, cx
jmp 0x100c5510
lea eax, [edx + 0x31]
cmp edi, eax
jle 0x100c54f8
mov eax, ebx
jmp 0x100c5513
lea eax, [edx + 0x1f]
cmp edi, eax
jle 0x100c5504
lea eax, [ebx + 1]
jmp 0x100c5510
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.100c4900
add esp, 4
mov edx, esi
mov ecx, ebx
call fcn.100c4640
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x18], eax
test dl, 2
je 0x100c556b
mov eax, dword [esp + 0x78]
movzx ecx, ax
jmp 0x100c556e
movzx ecx, bp
mov ebx, dword [esp + 0x14]
mov word [esi + 0x16], cx
test dl, 0x10
jne 0x100c562a
movzx ecx, word [esi + 0x18]
cmp cx, word [ebx + 0x34]
jae 0x100c562a
cmp cx, word [ebx + 0x32]
jb 0x100c55a0
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x100c562a
cmp ecx, 3
jbe 0x100c5603
mov ebp, dword [esp + 0x4c]
mov ecx, dword [ebp]
cmp dword [ecx + 0x128], 0
je 0x100c55bf
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], 9
cmp dword [ecx + 0x174], 0
je 0x100c5603
cmp dword [ebp + 0xc], 9
je 0x100c55fc
mov eax, dword [ebp + 0x70]
inc eax
mov dword [ebp + 0x70], eax
cmp eax, dword [ecx + 0x17c]
jb 0x100c5603
push dword [ecx + 0x178]
mov eax, dword [ecx + 0x174]
call eax
add esp, 4
test eax, eax
je 0x100c55fc
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.100c4d70
mov eax, dword [esp + 0x48]
add esp, 8
mov word [esi + 0x16], ax
jmp 0x100c5640
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
mov word [esi + 0x16], ax
jmp 0x100c5640
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x80]
call fcn.100c1f70
cmp dword [esp + 0x18], 0
mov ebp, eax
mov ecx, 0x100
je 0x100c4ea8
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x64]
mov ebp, 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], cx
mov word [esi + 0x16], ax
mov word [esi + 0x30], bp
cmp bx, cx
jne 0x100c57db
mov edx, dword [esp + 0x14]
movzx eax, bx
inc eax
movzx ecx, word [edx + 0x32]
cmp eax, ecx
jae 0x100c57db
cmp bx, bp
jne 0x100c57db
mov eax, dword [edx + 0x38]
test al, 0x40
jne 0x100c57db
test al, al
jns 0x100c57db
mov ecx, dword [esp + 0x30]
test dword [ecx + 0x50], 0x4000
jne 0x100c57db
mov eax, dword [edx + 8]
movzx ebx, bx
cmp word [eax + ebx*2 + 2], 0x2a
jl 0x100c57db
movzx eax, word [esi + 0x34]
movzx edi, bp
inc edi
cmp eax, edi
jae 0x100c5762
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.10026f30
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x100c5730
lea eax, [ebp + 7]
jmp 0x100c57df
movzx eax, word [esi + 0x34]
shl eax, 2
push eax
push dword [esi + 0x38]
push ebp
call fcn.10139d00
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x100c5757
mov ecx, dword [esp + 0x30]
call fcn.10026a90
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.100c4d70
mov eax, dword [esp + 0x48]
add esp, 8
mov ecx, dword [esp + 0x64]
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x44]
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x48]
mov word [esi + 0x32], cx
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.10136e2d
add esp, 0xdc
ret