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

Disassembly:
sub esp, 0x5c
mov ecx, dword [esp + 0x74]
mov eax, 1
add ecx, 0xfffffff8
mov dword [esp + 0x48], 4
shl ax, cl
cwde
push ebx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x68]
push ebp
mov dword [esp + 0x34], ecx
push esi
mov esi, dword [esp + 0x6c]
lea ebp, [eax + eax*2]
add ebp, ebp
lea edx, [eax*4]
mov ecx, esi
mov dword [esp + 0x50], edx
sub ecx, ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x24], ecx
mov ebx, esi
mov ecx, esi
sub ecx, edx
mov edx, esi
push edi
lea edi, [eax + eax]
mov dword [esp + 0x18], ecx
sub ebx, edi
shl eax, 3
sub edx, eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], edx
nop dword [eax]
movzx edx, word [esi]
lea eax, [esi + edi]
movzx edi, word [eax]
movzx eax, word [ecx]
mov dword [esp + 0x20], eax
movzx eax, word [esi + ebp]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x3c]
movzx ebx, word [ebx]
mov dword [esp + 0x44], edx
movzx eax, word [esi + eax]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], edi
movzx eax, byte [eax]
shl ax, cl
movsx ebp, ax
mov eax, edi
sub eax, edx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
movzx edx, word [eax]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
movzx eax, word [eax]
mov dword [esp + 0x30], eax
sub eax, edx
cdq
mov ebx, eax
mov eax, dword [esp + 0x10]
sub eax, edi
xor ebx, edx
sub ebx, edx
cdq
mov edi, eax
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x50]
xor edi, edx
sub edi, edx
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
test ecx, ecx
jns 0x101d1ac2
add ecx, 1
sar ecx, 1
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x44]
cdq
xor eax, edx
sub eax, edx
lea edx, [ecx + eax*2]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
movzx eax, byte [eax]
shl ax, cl
cwde
cmp edx, eax
mov eax, dword [esp + 0x14]
setle cl
sub eax, dword [esp + 0x10]
cdq
dec cl
xor eax, edx
sub eax, edx
mov edx, 0xffffffff
cmp eax, ebp
setle al
dec al
or cl, al
cmp edi, ebp
movzx ecx, cl
cmovg ecx, edx
cmp dword [esp + 0x48], ebp
setle al
dec al
or cl, al
cmp dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x1c]
movzx ecx, cl
cmovg ecx, edx
sub eax, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
cmp eax, ebp
setle al
dec al
or cl, al
cmp ebx, ebp
mov ebp, dword [esp + 0x40]
movzx eax, cl
mov ecx, 0xffffffff
cmovg eax, ecx
mov ebx, dword [esp + 0x44]
not al
mov dword [esp + 0x5c], eax
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x80]
mov al, byte [eax]
mov byte [esp + 0x60], al
mov eax, dword [esp + 0x1c]
sub eax, ebp
cdq
mov edi, eax
mov eax, dword [esp + 0x10]
sub eax, ebx
xor edi, edx
sub edi, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
setle cl
sub eax, ebx
cdq
dec cl
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x2c]
cmp eax, edx
setle al
dec al
or cl, al
cmp dword [esp + 0x48], edx
movzx ecx, cl
mov eax, 0xffffffff
cmovg ecx, eax
cmp dword [esp + 0x4c], edx
setle al
dec al
or cl, al
cmp edi, edx
mov edi, dword [esp + 0x30]
mov eax, 0xffffffff
movzx ecx, cl
cmovg ecx, eax
mov eax, edi
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [esp + 0x2c]
setle al
dec al
or cl, al
not cl
test cl, cl
je 0x101d1cc4
cmp byte [esp + 0x5c], 0
je 0x101d1cc4
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
lea eax, [edi + edx]
lea eax, [eax + edi*2]
mov edi, dword [esp + 0x1c]
lea eax, [eax + edi*2]
add edi, 4
add eax, 4
add eax, ebp
add eax, ebx
shr eax, 3
mov word [ecx], ax
mov eax, dword [esp + 0x30]
add eax, edx
mov ecx, dword [esp + 0x18]
add edx, 4
lea eax, [edi + eax*2]
mov edi, dword [esp + 0x50]
add eax, ebp
add eax, edi
add eax, ebx
shr eax, 3
mov word [ecx], ax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
lea eax, [eax + ebp*2]
add eax, edx
mov edx, dword [esp + 0x24]
add eax, dword [esp + 0x30]
add eax, dword [esp + 0x10]
add eax, edi
add eax, ebx
shr eax, 3
mov word [edx], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
lea eax, [eax + ebx*2]
add eax, 4
add eax, dword [esp + 0x1c]
add eax, edx
add edx, 4
add eax, ebp
add eax, dword [esp + 0x10]
add eax, edi
shr eax, 3
mov word [esi], ax
mov eax, dword [esp + 0x14]
add eax, edi
add edi, 4
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x10]
add eax, ebp
add eax, edx
add eax, ebx
shr eax, 3
mov word [esi + ecx], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
add eax, ebp
mov ebp, dword [esp + 0x14]
lea eax, [eax + ebp*2]
lea eax, [eax + edx*2]
add eax, edi
mov edi, dword [esp + 0x34]
add eax, ebx
mov ebx, dword [esp + 0x24]
shr eax, 3
mov word [esi + ecx], ax
jmp 0x101d1ced
push dword [esp + 0x84]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
lea eax, [esi + edi]
push eax
push esi
push ebx
push dword [esp + 0x28]
push dword [esp + 0x74]
push dword [esp + 0x7c]
call fcn.101d4430
add esp, 0x1c
mov ecx, dword [esp + 0x18]
add ebx, 2
add dword [esp + 0x38], 2
add ecx, 2
add dword [esp + 0x28], 2
add esi, 2
sub dword [esp + 0x58], 1
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ecx
jne 0x101d1a20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret