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

Disassembly:
sub esp, 0x5c
push esi
mov esi, dword [esp + 0x7c]
lea eax, [esp + 0x14]
push edi
push dword [esp + 0x74]
mov edi, dword [esp + 0x74]
mov esi, dword [esi]
push eax
push edi
push dword [esp + 0x78]
mov dword [esp + 0x44], 0
push dword [esp + 0x78]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
call fcn.100cb7f0
mov ecx, eax
add esp, 0x14
test ecx, ecx
js 0x100cad21
push ebx
mov ebx, dword [esp + 0x7c]
lea edx, [esi + 2]
push ebp
mov ebp, dword [esp + 0x84]
cmp ebp, edx
mov dword [esp + 0x10], edx
sbb ecx, ecx
and ecx, 0xffffff99
cmp edx, ebp
ja 0x100cad1f
mov eax, dword [esp + 0x20]
mov byte [esi + ebx], al
shr eax, 8
mov byte [esi + ebx + 1], al
cmp edx, ebp
ja 0x100cad1f
mov eax, dword [esp + 0x20]
lea ecx, [edi + 2]
movzx eax, ax
add esi, 2
imul eax, dword [0x102a6970]
xor edi, edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], 0
add esi, eax
mov dword [esp + 0x68], esi
lea eax, [esi + 4]
mov edx, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x14], edx
cmp di, word [esp + 0x20]
jae 0x100ca959
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
push dword [esp + 0x7c]
lea eax, [esp + 0x34]
push eax
push ecx
push edx
push edi
call fcn.100cb7f0
mov ecx, eax
add esp, 0x14
test ecx, ecx
js 0x100cad1f
mov edx, dword [esp + 0x10]
lea esi, [edx + 2]
cmp ebp, esi
sbb ecx, ecx
and ecx, 0xffffff99
cmp esi, ebp
ja 0x100cad1f
mov eax, dword [esp + 0x30]
mov byte [edx + ebx], al
shr eax, 8
mov byte [edx + ebx + 1], al
cmp esi, ebp
ja 0x100cad1f
push dword [esp + 0x7c]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x20]
add eax, 2
push eax
mov eax, dword [esp + 0x80]
push eax
push edi
call fcn.100cb7f0
mov ecx, eax
add esp, 0x14
test ecx, ecx
js 0x100cad1f
lea edx, [esi + 2]
cmp ebp, edx
sbb ecx, ecx
and ecx, 0xffffff99
cmp edx, ebp
ja 0x100cad1f
mov eax, dword [esp + 0x24]
mov byte [esi + ebx], al
shr eax, 8
mov byte [esi + ebx + 1], al
cmp edx, ebp
ja 0x100cad1f
push dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x20]
add eax, 4
push eax
push esi
push edi
call fcn.100cb720
mov ecx, eax
add esp, 0x14
test ecx, ecx
js 0x100cad1f
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
add eax, 4
push edi
push eax
push ebp
push ebx
call fcn.100cb870
mov ecx, eax
add esp, 0x10
test ecx, ecx
js 0x100cad1f
push dword [esp + 0x7c]
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x20]
push eax
add ebx, 8
push ebx
push esi
push dword [esp + 0x80]
call fcn.100cb720
mov ecx, eax
add esp, 0x14
test ecx, ecx
js 0x100cad1f
mov esi, dword [esp + 0x10]
push 0
add esi, 8
push esi
push ebp
push dword [esp + 0x8c]
call fcn.100cb870
mov ecx, eax
add esp, 0x10
test ecx, ecx
js 0x100cad1f
mov ecx, dword [esp + 0x24]
test cx, cx
je 0x100cac53
cmp cx, 0xd
jae 0x100cac53
mov eax, dword [esp + 0x30]
mov edx, 0x8769
cmp ax, dx
jne 0x100caa04
mov eax, dword [esp + 0x10]
movzx eax, ax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
inc esi
mov eax, dword [0x102a6970]
add ecx, eax
add dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], esi
cmp si, word [esp + 0x20]
jb 0x100ca7a4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
cmp ebp, eax
sbb ecx, ecx
and ecx, 0xffffff99
cmp eax, ebp
ja 0x100cad1f
mov dword [esi + ebx], 0
mov esi, dword [esp + 0x3c]
test si, si
je 0x100cac60
mov eax, edx
and eax, 1
add edx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edx
movzx edx, si
lea esi, [edx + 0xc]
cmp ebp, esi
sbb ecx, ecx
and ecx, 0xffffff99
cmp esi, ebp
ja 0x100cad1f
mov eax, dword [esp + 0x14]
mov byte [edx + ebx + 8], al
shr eax, 8
mov byte [edx + ebx + 9], al
mov eax, dword [esp + 0x14]
shr eax, 0x10
mov byte [edx + ebx + 0xa], al
mov eax, dword [esp + 0x14]
shr eax, 0x18
mov byte [edx + ebx + 0xb], al
cmp esi, ebp
ja 0x100cad1f
mov edi, dword [esp + 0x74]
lea eax, [esp + 0x10]
mov esi, dword [esp + 0x70]
push eax
push ebp
push ebx
push dword [esp + 0x88]
push dword [esp + 0x50]
push edi
push esi
call fcn.100ca6c0
mov ecx, eax
add esp, 0x1c
test ecx, ecx
js 0x100cad1f
mov edx, dword [esp + 0x10]
jmp 0x100cac68
mov edx, 0x8825
cmp ax, dx
jne 0x100caa26
mov eax, dword [esp + 0x10]
movzx eax, ax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
jmp 0x100ca917
mov edx, 0xa005
cmp ax, dx
jne 0x100caa48
mov eax, dword [esp + 0x10]
movzx eax, ax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
jmp 0x100ca917
movzx eax, cx
mov dword [esp + 0x50], eax
mov ecx, dword [eax*4 + 0x102a693c]
imul ecx, edi
mov dword [esp + 0x4c], ecx
cmp ecx, 4
jbe 0x100caa95
push dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
push esi
push ebp
push dword [esp + 0x8c]
call fcn.100cb870
mov ecx, eax
add esp, 0x10
test ecx, ecx
js 0x100cad1f
mov eax, dword [esp + 0x14]
mov esi, eax
mov ecx, dword [esp + 0x4c]
add eax, ecx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x74]
lea eax, [ecx + ebx]
cmp eax, edx
ja 0x100cac44
lea eax, [ecx + esi]
cmp eax, ebp
ja 0x100cac44
cmp ecx, edi
je 0x100cac1c
cmp byte [esp + 0x7c], 0x49
je 0x100cac1c
mov eax, dword [esp + 0x50]
mov eax, dword [eax*4 + 0x102a693c]
sub eax, 2
je 0x100cabd1
sub eax, 2
je 0x100cab8b
sub eax, 4
jne 0x100ca91b
mov eax, dword [esp + 0x24]
cmp ax, 0xc
jne 0x100cab85
test edi, edi
je 0x100ca91b
lea eax, [esi + 4]
mov dword [esp + 0x50], eax
mov eax, ebx
sub eax, esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x58]
push eax
push ebx
push edx
push dword [esp + 0x7c]
call fcn.100cb6d0
lea eax, [esp + 0x64]
push eax
mov eax, dword [esp + 0x60]
add eax, esi
push eax
mov eax, dword [esp + 0x8c]
push eax
push dword [esp + 0x8c]
call fcn.100cb6d0
push dword [esp + 0x74]
lea eax, [esi - 4]
push eax
push ebp
push dword [esp + 0xac]
call fcn.100cb870
push dword [esp + 0x88]
push esi
push ebp
push dword [esp + 0xbc]
call fcn.100cb870
mov edx, dword [esp + 0xb4]
add esp, 0x40
add ebx, 8
add esi, 8
sub edi, 1
jne 0x100cab11
jmp 0x100ca91b
add edi, edi
mov dword [esp + 0x34], edi
test edi, edi
je 0x100ca91b
sub ebx, esi
lea eax, [esp + 0x5c]
push eax
lea eax, [esi + ebx]
push eax
push edx
push dword [esp + 0x7c]
call fcn.100cb6d0
push dword [esp + 0x6c]
push esi
push ebp
push dword [esp + 0x9c]
call fcn.100cb870
mov edx, dword [esp + 0x94]
add esp, 0x20
add esi, 4
sub edi, 1
jne 0x100cab95
jmp 0x100ca91b
test edi, edi
je 0x100ca91b
sub ebx, esi
nop dword [eax + eax]
lea eax, [esp + 0x60]
push eax
lea eax, [esi + ebx]
push eax
push edx
push dword [esp + 0x7c]
call fcn.100cb7b0
push dword [esp + 0x70]
push esi
push ebp
push dword [esp + 0x9c]
call fcn.100cb8c0
mov edx, dword [esp + 0x94]
add esp, 0x20
add esi, 2
sub edi, 1
jne 0x100cabe0
jmp 0x100ca91b
mov edi, dword [esp + 0x70]
push ecx
lea eax, [ebx + edi]
mov ebx, dword [esp + 0x84]
push eax
lea eax, [esi + ebx]
push eax
call fcn.1026e3e0
mov edx, dword [esp + 0x80]
add esp, 0xc
jmp 0x100ca926
pop ebp
pop ebx
mov ecx, 0xffffff99
pop edi
mov eax, ecx
pop esi
add esp, 0x5c
ret
pop ebp
pop ebx
or ecx, 0xffffffff
pop edi
mov eax, ecx
pop esi
add esp, 0x5c
ret
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
cmp word [esp + 0x28], 0
je 0x100cacc1
mov eax, edx
and eax, 1
add edx, eax
mov eax, dword [esp + 0x28]
push edx
movzx eax, ax
add eax, 8
mov dword [esp + 0x14], edx
push eax
push ebp
push ebx
call fcn.100cb870
mov ecx, eax
add esp, 0x10
test ecx, ecx
js 0x100cad1f
lea eax, [esp + 0x10]
push eax
push ebp
push ebx
push dword [esp + 0x88]
push dword [esp + 0x54]
push edi
push esi
call fcn.100ca6c0
mov ecx, eax
add esp, 0x1c
test ecx, ecx
js 0x100cad1f
mov edx, dword [esp + 0x10]
cmp word [esp + 0x2c], 0
je 0x100cad16
mov eax, edx
and eax, 1
add edx, eax
mov eax, dword [esp + 0x2c]
push edx
movzx eax, ax
add eax, 8
mov dword [esp + 0x14], edx
push eax
push ebp
push ebx
call fcn.100cb870
mov ecx, eax
add esp, 0x10
test ecx, ecx
js 0x100cad1f
lea eax, [esp + 0x10]
push eax
push ebp
push ebx
push dword [esp + 0x88]
push dword [esp + 0x58]
push edi
push esi
call fcn.100ca6c0
mov ecx, eax
add esp, 0x1c
test ecx, ecx
js 0x100cad1f
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x88]
mov dword [eax], edx
pop ebp
pop ebx
pop edi
mov eax, ecx
pop esi
add esp, 0x5c
ret