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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
mov eax, edx
mov ecx, dword [esp + 0x70]
neg eax
and eax, 3
cmp ebx, eax
jb 0x101f8470
sub ebx, eax
cmp ebx, 0x2eb
jbe 0x101f8470
mov ebx, 0xffffffd2
cmp ebp, 0xff
ja 0x101f845b
add edx, eax
lea eax, [ecx + 1]
mov byte [edx + 0x1e0], 0
cmp eax, 1
jbe 0x101f82f6
mov byte [edx + 0x1e1], cl
cmp eax, 2
je 0x101f82f6
lea ebx, [ecx - 1]
mov byte [edx + 0x1e2], bl
cmp eax, 3
je 0x101f82f6
lea ebx, [ecx - 2]
mov byte [edx + 0x1e3], bl
cmp eax, 4
je 0x101f82f6
lea ebx, [ecx - 3]
mov byte [edx + 0x1e4], bl
cmp eax, 5
je 0x101f82f6
lea ebx, [ecx - 4]
mov byte [edx + 0x1e5], bl
cmp eax, 6
je 0x101f82f6
lea ebx, [ecx - 5]
mov byte [edx + 0x1e6], bl
cmp eax, 7
je 0x101f82f6
lea ebx, [ecx - 6]
mov byte [edx + 0x1e7], bl
cmp eax, 8
je 0x101f82f6
lea ebx, [ecx - 7]
mov byte [edx + 0x1e8], bl
cmp eax, 9
je 0x101f82f6
lea ebx, [ecx - 8]
mov byte [edx + 0x1e9], bl
cmp eax, 0xa
je 0x101f82f6
lea ebx, [ecx - 9]
mov byte [edx + 0x1ea], bl
cmp eax, 0xb
je 0x101f82f6
lea ebx, [ecx - 0xa]
mov byte [edx + 0x1eb], bl
cmp eax, 0xc
je 0x101f82f6
lea eax, [ecx - 0xb]
mov byte [edx + 0x1ec], al
xor ebx, ebx
test ebp, ebp
je 0x101f84f0
add ebx, 1
movzx eax, byte [esi + ebx*4]
movzx eax, byte [edx + eax + 0x1e0]
mov byte [edx + ebx + 0x1ec], al
cmp ebx, ebp
jne 0x101f8300
mov eax, dword [esp + 0x64]
test eax, eax
je 0x101f848b
mov eax, edx
mov dword [esp + 0x3c], 0xc
neg eax
test al, 3
jne 0x101f8470
cmp ebp, 1
je 0x101f847f
lea eax, [edx + 0x1ed]
lea esi, [edx + 0x190]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 8], eax
lea eax, [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x20], edx
call fcn.101f5550
mov edx, dword [esp + 0x20]
cmp ebx, eax
je 0x101f8468
cmp eax, 1
je 0x101f8468
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp], 6
mov dword [esp + 8], eax
call fcn.101f45e0
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 0x14], 0
lea eax, [edx + 0x1c4]
mov dword [esp + 8], esi
mov ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
call fcn.101f40d0
mov ebx, eax
cmp eax, 0xffffff88
ja 0x101f845b
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], edi
lea edx, [esi - 1]
mov esi, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], edx
add esi, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.101f4a40
mov ebx, eax
cmp eax, 0xffffff88
ja 0x101f845b
mov edx, dword [esp + 0x28]
mov dword [esp + 0x14], 0xa4
mov dword [esp + 0xc], edi
lea eax, [edx + 0xec]
mov dword [esp], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], edx
mov dword [esp + 4], eax
call fcn.101f26b0
mov edx, dword [esp + 0x20]
cmp eax, 0xffffff88
jbe 0x101f8523
mov ebx, eax
add esp, 0x4c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebp, 0x80
jbe 0x101f849a
add esp, 0x4c
mov ebx, 0xffffffff
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x64], 1
mov ebx, 2
jne 0x101f8509
add esp, 0x4c
mov ebx, 0xffffffba
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
lea ebx, [ebp + 1]
shr ebx, 1
add ebx, 1
cmp dword [esp + 0x64], ebx
jb 0x101f848b
mov edi, dword [esp + 0x60]
lea eax, [ebp + 0x7f]
mov byte [edi], al
mov byte [edx + ebp + 0x1ed], 0
xor eax, eax
lea esi, [esi]
nop
movzx ecx, byte [edx + eax + 0x1ed]
mov esi, eax
mov edi, dword [esp + 0x60]
shr esi, 1
shl ecx, 4
add cl, byte [edx + eax + 0x1ee]
add eax, 2
mov byte [edi + esi + 1], cl
cmp eax, ebp
jb 0x101f84c0
jmp 0x101f845b
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x101f848b
mov eax, edx
mov ebx, 1
neg eax
test al, 3
jne 0x101f8470
mov edi, dword [esp + 0x60]
lea eax, [ebp + 0x7f]
mov byte [edi], al
mov byte [edx + ebp + 0x1ed], 0
test ebp, ebp
jne 0x101f84b9
jmp 0x101f845b
mov eax, dword [esp + 0x24]
lea edi, [esi + ebx]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], edi
sub eax, ebx
mov dword [esp + 0x20], edx
mov dword [esp + 4], eax
call fcn.101f2e80
mov ebx, eax
cmp eax, 0xffffff88
ja 0x101f845b
test eax, eax
mov edx, dword [esp + 0x20]
je 0x101f8468
add edi, eax
sub edi, esi
mov ebx, edi
cmp edi, 0xffffff88
ja 0x101f845b
mov eax, ebp
shr eax, 1
cmp edi, eax
jae 0x101f8468
cmp edi, 1
jbe 0x101f8468
mov eax, dword [esp + 0x60]
mov byte [eax], bl
add ebx, 1
jmp 0x101f845b