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

Disassembly:
sub esp, 0x58
mov eax, dword [0x105436c4]
xor eax, esp
mov dword [esp + 0x54], eax
cmp dword [esp + 0x60], 0
push esi
mov esi, dword [esp + 0x60]
push edi
mov edi, ecx
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], ecx
mov eax, dword [edi + 0x1c]
mov dword [ecx], eax
jne 0x101cade7
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.101dd8e4
add esp, 0x58
ret 0x1c
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x6c]
push ebx
mov ebx, dword [edi + 0x18]
push ebp
mov ebp, dword [esp + 0x7c]
cmp dword [edi + 0x30], ebp
mov dword [esp + 0x18], eax
cmovl ebp, dword [edi + 0x30]
cmp dword [edi + 0x34], ecx
mov eax, dword [esp + 0x78]
cmovl ecx, dword [edi + 0x34]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x24]
push eax
call fcn.1017b8a0
mov ecx, dword [edi + 0x24]
lea eax, [esp + 0x38]
push eax
call fcn.1017b8c0
mov ecx, dword [esp + 0x10]
cmp ecx, dword [eax]
je 0x101caf05
xor edi, edi
nop
mov esi, dword [esp + 0x24]
push ebp
push dword [esp + 0x1c]
mov esi, dword [esi + 0x28]
add esi, edi
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov eax, dword [esp + 0x18]
push dword [eax + 0x114]
call fcn.10190e60
push dword [esp + 0x34]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
push dword [esp + 0x24]
push dword [eax + 0x118]
call fcn.10190e60
mov ecx, dword [esi + 0x1c]
add esp, 0x18
imul ecx, dword [esi + 8]
mov dword [esi + 0xc], eax
imul ecx, eax
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd], 0
lea ebx, [ebx + ecx*2]
jne 0x101caedd
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x101caebc
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
jne 0x101caed9
nop word [eax + eax]
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
je 0x101caeb0
jmp 0x101caed9
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x101caed9
cmp eax, dword [ecx + 8]
jne 0x101caed9
mov eax, ecx
mov dword [esp + 0x10], eax
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x101caec5
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x38]
add edi, 0x20
push eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x24]
call fcn.1017b8c0
mov ecx, dword [esp + 0x10]
cmp ecx, dword [eax]
jne 0x101cae40
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
cmp dword [edi + 0x20], 0
mov dword [esp + 0x18], 0
jle 0x101cb167
xor eax, eax
mov dword [esp + 0x20], eax
nop dword [eax]
mov edi, dword [edi + 0x28]
add edi, eax
cmp dword [edi + 0x14], 1
je 0x101caf65
mov esi, dword [edi + 0x1c]
imul esi, dword [edi + 0xc]
mov ebp, dword [esp + 0x70]
imul esi, dword [edi + 8]
add esi, esi
cmp ebp, esi
jl 0x101cb316
mov ebx, dword [esp + 0x1c]
push esi
push ebx
push dword [edi]
call fcn.101df960
add ebx, esi
add esp, 0xc
sub ebp, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x70], ebp
jmp 0x101cb143
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [edi + 0xc], eax
jle 0x101cb143
mov ebp, 1
mov dword [esp + 0x10], ebp
nop dword [eax]
mov edx, dword [edi + 8]
xor ebx, ebx
mov ecx, edx
imul ecx, eax
mov eax, dword [edi]
lea eax, [eax + ecx*2]
mov dword [esp + 0x2c], eax
lea eax, [eax + edx*2]
mov dword [esp + 0x30], eax
lea eax, [eax + edx*2]
mov dword [esp + 0x34], eax
lea eax, [eax + edx*2]
mov dword [esp + 0x3c], eax
test edx, edx
jle 0x101cb124
mov ebp, dword [esp + 0x70]
cmp ebp, 3
jl 0x101cb316
cmp byte [esi + 2], 0xfc
jne 0x101cb01c
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl ax, 8
or ax, cx
mov word [esp + 0x44], ax
mov ecx, dword [esp + 0x44]
test ecx, 0x8000
je 0x101cafec
mov ecx, 0x7fff
and ax, cx
jmp 0x101caff0
mov eax, ecx
not eax
mov word [esp + 0x44], ax
mov ecx, 1
nop word [eax + eax]
mov word [esp + ecx*2 + 0x44], ax
inc ecx
cmp ecx, 0x10
jge 0x101cb012
mov ax, word [esp + 0x44]
jmp 0x101cb000
sub ebp, 3
mov eax, 3
jmp 0x101cb03b
cmp ebp, 0xe
jl 0x101cb316
lea eax, [esp + 0x44]
push eax
push esi
call fcn.101cb950
add esp, 8
mov eax, 0xe
sub ebp, 0xe
add esi, eax
mov dword [esp + 0x70], ebp
cmp byte [edi + 0x18], 0
mov dword [esp + 0x1c], esi
je 0x101cb058
lea eax, [esp + 0x44]
push eax
call fcn.101cb3b0
add esp, 4
mov esi, dword [edi + 8]
lea eax, [ebx + 3]
cmp eax, esi
jge 0x101cb069
mov esi, 8
jmp 0x101cb06d
sub esi, ebx
add esi, esi
mov eax, dword [esp + 0x10]
add eax, 2
cmp eax, dword [edi + 0xc]
lea eax, [esp + 0x44]
push esi
push eax
push dword [esp + 0x34]
jge 0x101cb0bd
call fcn.101df960
push esi
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x44]
call fcn.101df960
push esi
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x54]
call fcn.101df960
push esi
lea eax, [esp + 0x84]
push eax
push dword [esp + 0x68]
call fcn.101df960
add esp, 0x30
jmp 0x101cb0fc
call fcn.101df960
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp eax, dword [edi + 0xc]
jge 0x101cb0e4
push esi
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x38]
call fcn.101df960
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
cmp eax, dword [edi + 0xc]
jge 0x101cb0fc
push esi
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x3c]
call fcn.101df960
add esp, 0xc
add dword [esp + 0x2c], 8
add ebx, 4
add dword [esp + 0x30], 8
add dword [esp + 0x34], 8
add dword [esp + 0x3c], 8
mov esi, dword [esp + 0x1c]
cmp ebx, dword [edi + 8]
jl 0x101cafb4
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
add ebp, 4
mov esi, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x10], ebp
cmp eax, dword [edi + 0xc]
jl 0x101caf80
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
inc eax
add dword [esp + 0x20], 0x20
mov dword [esp + 0x18], eax
cmp eax, dword [edi + 0x20]
jge 0x101cb167
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x101caf20
cmp dword [edi + 0x10], 1
mov ebx, dword [edi + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], ebx
jne 0x101cb25a
cmp ecx, eax
jg 0x101cb2ec
nop dword [eax + eax]
xor ebp, ebp
cmp dword [edi + 0x20], ebp
jle 0x101cb248
xor eax, eax
mov dword [esp + 0x18], eax
mov edi, dword [edi + 0x28]
add edi, eax
mov esi, dword [edi + 0x10]
test ecx, ecx
js 0x101cb1b6
mov eax, ecx
cdq
idiv esi
mov ecx, eax
jmp 0x101cb1cc
mov eax, esi
test esi, esi
js 0x101cb1c1
sub eax, ecx
dec eax
jmp 0x101cb1c5
not eax
sub eax, ecx
cdq
idiv esi
mov ecx, eax
neg ecx
mov eax, dword [esp + 0x14]
imul ecx, esi
sub eax, ecx
jne 0x101cb227
cmp dword [edi + 0x14], 1
jne 0x101cb207
mov esi, dword [edi + 8]
test esi, esi
jle 0x101cb227
mov eax, dword [edi + 4]
movzx eax, word [eax]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.101a4d40
add dword [edi + 4], 2
dec esi
add esp, 8
test esi, esi
jg 0x101cb1e4
mov ebx, dword [esp + 0x20]
jmp 0x101cb227
mov eax, dword [edi + 0x1c]
imul eax, dword [edi + 8]
lea esi, [eax + eax]
push esi
push dword [edi + 4]
push ebx
call fcn.101df960
add ebx, esi
add esp, 0xc
add dword [edi + 4], esi
mov dword [esp + 0x20], ebx
mov edi, dword [esp + 0x24]
inc ebp
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 0x20
mov dword [esp + 0x18], eax
cmp ebp, dword [edi + 0x20]
jl 0x101cb1a1
mov eax, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, eax
jle 0x101cb190
jmp 0x101cb2ec
cmp ecx, eax
jg 0x101cb2ec
xor ebp, ebp
cmp dword [edi + 0x20], ebp
jle 0x101cb2df
xor eax, eax
mov dword [esp + 0x18], eax
nop
mov edi, dword [edi + 0x28]
add edi, eax
mov esi, dword [edi + 0x10]
test ecx, ecx
js 0x101cb285
mov eax, ecx
cdq
idiv esi
mov ecx, eax
jmp 0x101cb29b
mov eax, esi
test esi, esi
js 0x101cb290
sub eax, ecx
dec eax
jmp 0x101cb294
not eax
sub eax, ecx
cdq
idiv esi
mov ecx, eax
neg ecx
mov eax, dword [esp + 0x14]
imul ecx, esi
sub eax, ecx
jne 0x101cb2c2
mov eax, dword [edi + 0x1c]
imul eax, dword [edi + 8]
lea esi, [eax + eax]
push esi
push dword [edi + 4]
push ebx
call fcn.101df960
add esp, 0xc
add ebx, esi
add dword [edi + 4], esi
mov edi, dword [esp + 0x24]
inc ebp
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add eax, 0x20
mov dword [esp + 0x18], eax
cmp ebp, dword [edi + 0x20]
jl 0x101cb270
mov eax, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, eax
jle 0x101cb262
cmp dword [esp + 0x70], 0
jg 0x101cb31b
mov eax, dword [esp + 0x40]
mov ecx, dword [edi + 0x1c]
pop ebp
mov dword [eax], ecx
sub ebx, dword [edi + 0x1c]
mov ecx, dword [esp + 0x60]
mov eax, ebx
pop ebx
pop edi
pop esi
xor ecx, esp
call fcn.101dd8e4
add esp, 0x58
ret 0x1c
call fcn.101cb410
call fcn.101cb910
int3