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

Disassembly:
mov eax, 0x100d00c4
call fcn.100ce110
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 0x1001a3bf
mov ecx, dword [esi + 0x38]
or ecx, dword [esi + 0x3c]
jne 0x1001a3bf
cmp dword [esi + 0x1c], eax
ja 0x1001a3bf
jb 0x1001a3ae
cmp dword [esi + 0x18], 0x3c
jae 0x1001a3bf
mov edx, dword [esi + 0x18]
push edi
lea ecx, [esi + 0x4c]
call fcn.10009b1a
jmp 0x1001a598
cmp dword [esi + 0x1c], 0x80000000
jb 0x1001a3d7
ja 0x1001a50a
cmp dword [esi + 0x18], eax
jae 0x1001a50a
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.100ce240
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 0x1001a4d6
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, ecx
jne 0x1001a50a
cmp eax, edx
jne 0x1001a50a
push 0x38
call fcn.100033f2
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
mov byte [ebp - 4], 2
je 0x1001a440
call fcn.1001a5ed
mov edi, eax
jmp 0x1001a442
xor edi, edi
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.10058435
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.10058435
mov ecx, dword [ebp - 0x14]
lea ebx, [edi + 0x2c]
push 0xffffffffffffffff
push ebx
add esi, 0x4c
push 0x3c
push esi
call fcn.1001a099
mov esi, eax
test esi, esi
jne 0x1001a574
xor edx, edx
cmp dword [edi + 0x30], edx
je 0x1001a4a6
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 0x1001a4c0
mov eax, dword [ebp - 0x20]
jb 0x1001a4b6
cmp edx, eax
jae 0x1001a4c0
sub eax, edx
mov ecx, ebx
push eax
call fcn.1001a2f7
mov ecx, edi
call fcn.1001a607
mov esi, eax
test esi, esi
je 0x1001a590
jmp 0x1001a574
shr eax, 0x12
test al, 1
je 0x1001a4e1
xor edi, edi
jmp 0x1001a4e4
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 0x1001a50a
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, ecx
jne 0x1001a50a
cmp eax, dword [ebp - 0x1c]
je 0x1001a512
push 1
pop eax
jmp 0x1001a5a7
push 0x38
call fcn.100033f2
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
mov byte [ebp - 4], 3
je 0x1001a530
call fcn.1001a68d
mov edi, eax
jmp 0x1001a532
xor edi, edi
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.10058435
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.10058435
lea eax, [edi + 0x2c]
add esi, 0x4c
push eax
mov ecx, ebx
push dword [ebp - 0x20]
push esi
call fcn.10019fff
mov esi, eax
test esi, esi
je 0x1001a589
mov eax, dword [ebp + 8]
and byte [ebp - 4], 0
test eax, eax
je 0x1001a585
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x1001a5a7
mov ecx, edi
call fcn.1001a5b8
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
xor eax, eax
jmp 0x1001a5a7
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8