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

Disassembly:
sub esp, 0x288
mov eax, dword [0x101366b4]
xor eax, esp
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x290]
mov edx, dword [esp + 0x2a8]
push ebx
mov dword [esp + 0x70], eax
xor ebx, ebx
mov eax, dword [esp + 0x298]
push ebp
mov ebp, dword [esp + 0x2a4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2a8]
push esi
mov dword [esp + 0x40], eax
mov esi, ebp
mov eax, dword [esp + 0x2b0]
push edi
mov edi, dword [esp + 0x2a8]
mov dword [esp + 0x28], eax
lea ecx, [esi + 2]
mov eax, dword [esp + 0x2bc]
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x40], ebx
mov ax, word [esi]
add esi, 2
cmp ax, word [esp + 0x84]
jne 0x100cae58
mov eax, dword [esp + 0x68]
sub esi, ecx
xor ecx, ecx
mov dword [edx], ecx
mov dword [eax], ecx
xor eax, eax
cmp dword [edi], 7
mov word [esp + 0x94], ax
sete cl
test ecx, ecx
mov dword [esp + 0x74], ecx
sete al
sar esi, 1
mov dword [esp + 0x4c], eax
je 0x100caeb7
push 2
pop ebx
movzx eax, word [ebp]
push 8
push eax
call fcn.10117a6e
pop ecx
pop ecx
test eax, eax
je 0x100caeaf
add ebp, ebx
dec esi
jne 0x100cae98
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x20], ebp
push esi
push ebp
mov dword [esp + 0x78], ebp
call fcn.100d5466
test eax, eax
je 0x100caedd
mov ecx, dword [esp + 0x68]
mov dword [ecx], 1
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
xor eax, eax
jmp 0x100cb464
movzx ecx, word [ebp]
cmp ecx, 0x3f
jne 0x100caf6e
xor eax, eax
inc eax
cmp esi, eax
jne 0x100caf6e
mov ebx, dword [esp + 0x34]
mov esi, eax
imul edx, dword [ebx + 0x34], 0x1c
mov ecx, dword [ebx + 0x30]
add edx, ecx
jmp 0x100caf11
mov eax, dword [ecx + 8]
cmp dword [eax], 0x5f003f
jne 0x100caf0e
inc esi
add ecx, 0x1c
cmp ecx, edx
jb 0x100caf02
push 0x1000c91c
push 6
lea eax, [esp + 0x90]
push eax
call fcn.100631e0
push 0xa
push esi
push 4
lea eax, [esp + 0x98]
push eax
call fcn.1001b110
mov ecx, dword [esp + 0x28]
xor eax, eax
push ecx
push eax
push 2
pop ecx
push ecx
push eax
push eax
lea eax, [esp + 0x9c]
push eax
push ebx
call fcn.100d1513
test eax, eax
js 0x100cb464
mov ebx, dword [esp + 0x3c]
mov dword [ebx], 1
jmp 0x100caed6
cmp dword [esp + 0x74], 0
jne 0x100cafed
mov eax, dword [esp + 0x34]
imul ebp, dword [eax + 0x34], 0x1c
mov edi, dword [eax + 0x30]
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
add ebp, edi
cmp ecx, 0x40
jne 0x100caf9b
push 2
pop ecx
add eax, ecx
dec esi
mov dword [esp + 0x20], eax
cmp edi, ebp
jae 0x100cafd5
mov ebx, dword [esp + 0x24]
push dword [edi + 8]
push esi
push eax
call fcn.100cb927
test eax, eax
jne 0x100cafbd
mov eax, dword [esp + 0x20]
add edi, 0x1c
inc ebx
cmp edi, ebp
jb 0x100cafa3
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x40]
cmp edi, ebp
jae 0x100cafd5
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
jmp 0x100caf5f
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x70], ebp
je 0x100cafed
push 2
pop eax
sub ebp, eax
inc esi
mov dword [esp + 0x20], ebp
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x9c]
push eax
push esi
push ebp
call fcn.100cbb02
test eax, eax
je 0x100cb3dc
mov esi, dword [esp + 0x4c]
xor ecx, ecx
mov dword [esp + 0x24], 1
cmp dword [esp + 0x5c], ecx
setne cl
mov dword [esp + 0x1c], ecx
test esi, esi
je 0x100cb47f
xor eax, eax
mov dword [esp + 0x80], eax
test ecx, ecx
jne 0x100cb10e
mov eax, dword [esp + 0x34]
mov esi, dword [edi + 0x118]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x11c]
lea eax, [esi + eax*2]
mov dword [esp + 0x38], eax
cmp esi, eax
jae 0x100cb0a6
mov edi, dword [esp + 0x48]
mov ebx, eax
push 2
pop ebp
movsx eax, word [esi]
push dword [0x1013657c]
imul eax, eax, 0x1c
push dword [eax + edi + 8]
lea eax, [esp + 0x9c]
push eax
call fcn.1009295d
test eax, eax
jne 0x100cb092
add esi, ebp
cmp esi, ebx
jb 0x100cb06b
mov ebp, dword [esp + 0x20]
cmp esi, ebx
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x18]
jb 0x100cb5b4
test byte [edi + 0xb4], 8
je 0x100cb10e
mov esi, dword [edi + 4]
imul edi, dword [edi + 8], 0x34
add edi, esi
cmp esi, edi
jae 0x100cb10a
push 0x34
pop ecx
test byte [esi + 0x28], 1
je 0x100cb0e2
push dword [0x1013657c]
lea eax, [esp + 0x98]
push dword [esi + 0x18]
push eax
call fcn.1009295d
push 0x34
pop ecx
test eax, eax
jne 0x100cb0e8
add esi, ecx
cmp esi, edi
jb 0x100cb0bf
cmp esi, edi
mov edi, dword [esp + 0x18]
jae 0x100cb10e
sub esi, dword [edi + 4]
mov eax, esi
mov dword [esp + 0x64], 1
cdq
idiv ecx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x60], eax
jmp 0x100cb10e
mov edi, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x30], edx
cmp dword [esp + 0x1c], edx
je 0x100cb19e
mov esi, dword [edi + 0x90]
mov ecx, dword [edi + 0x18]
push 2
mov dword [esp + 0x3c], esi
lea eax, [esi + ecx*4]
pop ecx
mov dword [esp + 0x18], eax
cmp dword [edi], ecx
jne 0x100cb14c
push 9
pop ecx
cmp word [edi + 0xbc], cx
jne 0x100cb14c
lea eax, [esi + 4]
mov dword [esp + 0x18], eax
cmp esi, eax
jae 0x100cb19e
mov ebx, dword [esp + 0x18]
push dword [0x1013657c]
lea eax, [esp + 0x98]
push dword [esi]
push eax
call fcn.1009295d
test eax, eax
jne 0x100cb174
add esi, 4
cmp esi, ebx
jb 0x100cb154
cmp esi, ebx
mov ebx, dword [esp + 0x40]
jae 0x100cb19c
sub esi, dword [esp + 0x38]
mov eax, dword [edi + 0x10]
sar esi, 2
push 3
mov dword [esp + 0x34], 1
mov eax, dword [eax + esi*4]
mov dword [esp + 0x18], eax
pop eax
mov dword [esp + 0x24], eax
xor edx, edx
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x18]
push 2
pop esi
mov dword [esp + 0x48], ecx
lea eax, [ecx + eax*4]
mov dword [esp + 0x38], eax
cmp dword [edi], esi
jne 0x100cb1c9
push 9
pop esi
cmp word [edi + 0xbc], si
jne 0x100cb1c9
lea eax, [ecx + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edx
cmp ecx, eax
jae 0x100cb369
lea eax, [esp + 0x20]
mov esi, edx
push eax
lea eax, [esp + 0x1c]
push eax
push dword [ecx]
push dword [esp + 0x40]
call fcn.100ce12a
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x20]
jae 0x100cb351
mov ebx, edx
push dword [0x1013657c]
lea eax, [esp + 0x98]
push eax
push dword [ebx]
call fcn.1009295d
test eax, eax
jne 0x100cb222
add ebx, 0x10
cmp ebx, dword [esp + 0x20]
jb 0x100cb200
cmp ebx, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x40]
jae 0x100cb351
mov edx, dword [esp + 0x18]
mov al, byte [edx + 0xe]
mov byte [esp + 0x13], al
shr al, 3
movzx ecx, al
mov eax, ecx
dec eax
je 0x100cb351
dec eax
je 0x100cb2fb
dec eax
je 0x100cb2e4
dec eax
je 0x100cb2c5
dec eax
je 0x100cb279
dec eax
jne 0x100cb299
cmp dword [esp + 0x30], eax
jne 0x100cb2f2
mov ebx, 0xfffff441
jmp 0x100cb639
cmp dword [esp + 0x1c], 0
je 0x100cb2af
cmp dword [esp + 0x30], 0
je 0x100cb294
mov dword [esp + 0x2c], 1
jmp 0x100cb351
push 3
pop eax
mov ecx, eax
xor eax, eax
inc eax
cmp dword [esp + 0x80], 0
je 0x100cb311
test esi, esi
jne 0x100cb26f
jmp 0x100cb351
mov cl, byte [esp + 0x13]
xor eax, eax
movzx esi, cl
inc eax
shr esi, 2
and esi, eax
jne 0x100cb2df
test cl, 2
jmp 0x100cb2dd
cmp dword [esp + 0x1c], 0
jne 0x100cb351
movzx esi, byte [esp + 0x13]
xor eax, eax
shr esi, 2
inc eax
and esi, eax
je 0x100cb26f
push 2
pop ecx
jmp 0x100cb29c
cmp dword [esp + 0x1c], 0
je 0x100cb351
cmp dword [esp + 0x30], 0
je 0x100cb299
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
jmp 0x100cb351
cmp dword [esp + 0x1c], 0
jne 0x100cb351
movzx esi, byte [esp + 0x13]
xor eax, eax
shr esi, 2
inc eax
and esi, eax
jmp 0x100cb29c
cmp word [esp + 0x24], ax
je 0x100cb320
test esi, esi
je 0x100cb26f
test byte [esp + 0x13], 2
movzx eax, cx
mov dword [esp + 0x24], eax
movzx eax, word [edx + 0xc]
mov dword [esp + 0x50], eax
je 0x100cb343
push 3
pop eax
cmp cx, ax
je 0x100cb343
mov eax, dword [edx + 8]
jmp 0x100cb346
mov eax, dword [edx + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x80], esi
mov ecx, dword [esp + 0x48]
add ecx, 4
push 0
mov dword [esp + 0x4c], ecx
pop edx
cmp ecx, dword [esp + 0x38]
jb 0x100cb1d9
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
movzx eax, dx
dec eax
je 0x100cb628
dec eax
je 0x100cb5ea
dec eax
jne 0x100cb5bc
test ecx, ecx
je 0x100cb628
mov eax, dword [esp + 0x54]
xor ecx, ecx
cmp dword [esp + 0x30], ecx
mov edi, esi
mov ebp, dword [esp + 0x78]
cmove eax, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x54], eax
xor eax, eax
mov esi, eax
mov dword [esp + 0x20], ebp
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x68]
push ebp
call fcn.100cbb02
test eax, eax
jne 0x100cb012
mov ebx, 0xfffffc16
xor edi, edi
mov edx, 0xffffe023
cmp ebx, 0xfffffc16
lea eax, [edx - 0x29]
cmove edx, eax
add eax, 0x46
cmp ebx, 0xfffff440
cmove edx, eax
cmp ebx, 0xfffff441
mov eax, 0xffffe065
cmove edx, eax
movzx eax, word [ebp]
cmp eax, 0x60
je 0x100cb41c
cmp eax, 0x5b
jne 0x100cb41f
xor edi, edi
inc edi
lea ecx, [esp + 0x94]
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x84]
jne 0x100cb429
mov eax, dword [esp + 0x70]
sub ecx, esi
xor esi, esi
sar ecx, 1
push esi
push ecx
sub ebp, eax
sar ebp, 1
add ebp, edi
push ebp
push edx
push esi
push eax
push dword [esp + 0x94]
push dword [esp + 0x2b8]
call fcn.100378e0
mov eax, ebx
mov ecx, dword [esp + 0x294]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10117cfd
add esp, 0x288
ret 0x24
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x50]
push eax
push edi
push dword [esp + 0x40]
call fcn.100ce12a
mov esi, dword [esp + 0x4c]
cmp esi, dword [esp + 0x58]
jae 0x100cb369
push dword [0x1013657c]
lea eax, [esp + 0x98]
push eax
push dword [esi]
call fcn.1009295d
test eax, eax
jne 0x100cb4c3
add esi, 0x10
cmp esi, dword [esp + 0x58]
jb 0x100cb4a1
mov dword [esp + 0x4c], esi
cmp esi, dword [esp + 0x58]
jae 0x100cb369
mov cl, byte [esi + 0xe]
xor edx, edx
inc edx
movzx eax, cl
and eax, edx
mov dword [esp + 0x30], eax
mov al, cl
shr al, 3
movzx eax, al
mov dword [esp + 0x24], eax
movzx eax, ax
dec eax
je 0x100cb5aa
dec eax
je 0x100cb592
dec eax
je 0x100cb5aa
dec eax
je 0x100cb592
dec eax
je 0x100cb54c
mov ecx, dword [esp + 0x1c]
dec eax
jne 0x100cb36d
test ecx, ecx
je 0x100cb36d
cmp dword [esp + 0x54], eax
je 0x100cb36d
cmp dword [esp + 0x30], eax
je 0x100cb36d
mov esi, dword [esi + 4]
push 3
pop eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], edx
jmp 0x100cb371
cmp dword [esp + 0x1c], 0
je 0x100cb56a
push 3
pop eax
mov dword [esp + 0x24], eax
mov esi, dword [esi + 4]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
jmp 0x100cb371
test cl, 2
mov ecx, dword [esp + 0x1c]
je 0x100cb36d
push 2
pop eax
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x14], eax
movzx eax, word [esi + 0xc]
mov dword [esp + 0x50], eax
jmp 0x100cb36d
test cl, 4
je 0x100cb5aa
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x74], 0
push 2
pop eax
cmove ecx, eax
mov dword [esp + 0x24], ecx
movzx eax, word [esi + 0xc]
mov dword [esp + 0x50], eax
jmp 0x100cb55a
movsx eax, word [esi]
jmp 0x100cafcd
dec eax
je 0x100cb5cf
dec eax
je 0x100cb26f
dec eax
jne 0x100cb639
xor ebx, ebx
test ecx, ecx
jmp 0x100cb630
test ecx, ecx
je 0x100cb26f
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x100cb26f
mov ebx, 0xfffff440
jmp 0x100cb639
test ecx, ecx
jne 0x100cb628
mov eax, dword [esp + 0x64]
test eax, eax
je 0x100cb619
push dword [esp + 0x29c]
call fcn.10105f83
test eax, eax
jne 0x100cb619
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov eax, dword [esp + 0x60]
jmp 0x100caed0
mov eax, dword [esp + 0x44]
mov dword [eax], esi
mov eax, dword [esp + 0x50]
jmp 0x100caed0
mov eax, dword [esp + 0x2c]
xor ebx, ebx
test eax, eax
setne bl
add ebx, 0xfffff440
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x100cb606
cmp dword [esp + 0x74], eax
jne 0x100cb3e1
cmp ebx, 0xfffff440
jne 0x100cb3e1
mov esi, dword [esp + 0x34]
test dword [esi + 0x80], 0x4000
jne 0x100cb3e1
push 2
pop eax
cmp dword [edi], eax
jne 0x100cb6d1
test dword [edi + 0xb4], 0x1000
je 0x100cb6d1
push dword [esp + 0x68]
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
push ebx
push ecx
push eax
push ebp
push dword [edi + 0x98]
push esi
push dword [esp + 0x98]
push dword [esp + 0x2bc]
call fcn.100cadb2
cmp dword [ebx], 1
je 0x100cb464
or dword [edi + 0xb4], 0x2000
inc dword [edi + 0x154]
and dword [edi + 0xb8], 0xfffffffc
jmp 0x100cb464
mov ebx, dword [esp + 0x70]
xor edi, edi
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x100cb6dc
sub ecx, edx
sar ecx, 1
cmp ecx, 0xff
jb 0x100cb6fd
mov ebx, 0xfffff411
jmp 0x100cb3e3
mov ecx, dword [esp + 0x28]
push ecx
push edi
push 4
push edi
push edi
push ebx
push esi
jmp 0x100caf52