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

Disassembly:
mov eax, 0x100c2b48
call fcn.100c0df0
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
imul esi, esi, 0x88
mov ebx, ecx
xor eax, eax
mov dword [edi], eax
mov dword [ebp - 0x10], esp
add esi, dword [ebx + 0x28]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], eax
mov ecx, dword [esi + 0x44]
shr ecx, 0x13
test cl, 1
jne 0x10019840
mov ecx, dword [esi + 0x38]
or ecx, dword [esi + 0x3c]
jne 0x10019840
cmp dword [esi + 0x1c], eax
ja 0x10019840
jb 0x1001982f
cmp dword [esi + 0x18], 0x3c
jae 0x10019840
mov edx, dword [esi + 0x18]
push edi
lea ecx, [esi + 0x4c]
call fcn.1000973f
jmp 0x10019a19
cmp dword [esi + 0x1c], 0x80000000
jb 0x10019858
ja 0x1001998b
cmp dword [esi + 0x18], eax
jae 0x1001998b
mov dword [ebp + 8], eax
mov edi, dword [ebx + 0x78]
push 1
pop eax
mov ecx, edi
shl eax, cl
xor edx, edx
mov byte [ebp - 4], 1
dec eax
add eax, dword [esi + 0x18]
adc edx, dword [esi + 0x1c]
call fcn.100c0f20
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x44]
mov ecx, eax
mov dword [ebp - 0x1c], edx
shr ecx, 0x13
test cl, 1
je 0x10019957
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, ecx
jne 0x1001998b
cmp eax, edx
jne 0x1001998b
push 0x38
call fcn.100032b9
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
mov byte [ebp - 4], 2
je 0x100198c1
call fcn.10019a6e
mov edi, eax
jmp 0x100198c3
xor edi, edi
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.1000923c
mov eax, dword [ebx + 0x78]
lea ecx, [edi + 0x28]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x24], eax
push dword [ebx + 0x60]
call fcn.1000923c
mov ecx, dword [ebp - 0x14]
lea ebx, [edi + 0x2c]
push 0xffffffffffffffff
push ebx
add esi, 0x4c
push 0x3c
push esi
call fcn.1001951a
mov esi, eax
test esi, esi
jne 0x100199f5
xor edx, edx
cmp dword [edi + 0x30], edx
je 0x10019927
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
shl eax, 4
movzx edx, word [eax + ecx - 0xc]
add edx, dword [eax + ecx - 0x10]
lea eax, [eax + ecx - 0x10]
xor eax, eax
cmp eax, dword [ebp - 0x1c]
ja 0x10019941
mov eax, dword [ebp - 0x20]
jb 0x10019937
cmp edx, eax
jae 0x10019941
sub eax, edx
mov ecx, ebx
push eax
call fcn.10019778
mov ecx, edi
call fcn.10019a88
mov esi, eax
test esi, esi
je 0x10019a11
jmp 0x100199f5
shr eax, 0x12
test al, 1
je 0x10019962
xor edi, edi
jmp 0x10019965
add edi, 0xfffffff7
push 1
mov eax, dword [esi + 0x38]
pop edx
mov ecx, edi
shl edx, cl
mov ecx, dword [esi + 0x3c]
xor edi, edi
and ecx, edi
dec edx
and eax, edx
or eax, ecx
jne 0x1001998b
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, ecx
jne 0x1001998b
cmp eax, dword [ebp - 0x1c]
je 0x10019993
push 1
pop eax
jmp 0x10019a28
push 0x38
call fcn.100032b9
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
mov byte [ebp - 4], 3
je 0x100199b1
call fcn.10019ae4
mov edi, eax
jmp 0x100199b3
xor edi, edi
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.1000923c
mov eax, dword [ebx + 0x78]
lea ecx, [edi + 0x28]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x24], eax
push dword [ebx + 0x60]
call fcn.1000923c
lea eax, [edi + 0x2c]
add esi, 0x4c
push eax
mov ecx, ebx
push dword [ebp - 0x20]
push esi
call fcn.10019480
mov esi, eax
test esi, esi
je 0x10019a0a
mov eax, dword [ebp + 8]
and byte [ebp - 4], 0
test eax, eax
je 0x10019a06
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x10019a28
mov ecx, edi
call fcn.10019a39
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
xor eax, eax
jmp 0x10019a28
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8