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

Disassembly:
sub esp, 0x78
mov eax, dword [0x10372b24]
xor eax, esp
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
push ebx
push ebp
mov ebp, dword [edx + 8]
lea ebx, [eax + 0x6c]
push esi
lea esi, [eax + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x48]
push edi
mov dword [esp + 0x2c], ebp
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], esi
mov byte [esp + 0x12], 0
cmp eax, dword [edx + 0x10]
je 0x102f1a38
lea eax, [edi + 6]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.101026a7
add esp, 0x78
ret
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0x9c]
je 0x102f1a60
pop edi
pop esi
pop ebp
mov eax, 0x13
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.101026a7
add esp, 0x78
ret
test ecx, ecx
je 0x102f1a69
mov edi, dword [ecx]
mov ebp, dword [ecx + 4]
lea eax, [esp + 0x74]
push eax
push ebx
call fcn.10105c62
mov eax, dword [esp + 0x84]
add esp, 8
mov edx, dword [esp + 0x74]
add eax, 0x3f
mov ebx, dword [esp + 0x80]
add eax, edi
mov ecx, dword [esp + 0x78]
and eax, 0xffffffc0
mov dword [esp + 0x14], eax
add edx, edi
mov dword [esp + 0x7c], eax
and edx, 0xffffffc0
add ebx, 0x3f
mov dword [esp + 0x74], edx
add ebx, ebp
mov eax, edx
sar eax, 6
and ebx, 0xffffffc0
mov dword [esp + 0x38], eax
add ecx, ebp
mov eax, ebx
mov dword [esp + 0x80], ebx
sar eax, 6
and ecx, 0xffffffc0
mov dword [esp + 0x3c], eax
sub ebp, ecx
mov eax, dword [esp + 0x14]
sub ebx, ecx
sub edi, edx
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x94]
sub eax, edx
shr eax, 6
shr ebx, 6
mov dword [esp + 0x34], edi
mov edi, eax
mov dword [esp + 0x24], ebp
mov ebp, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], eax
cmp ecx, 3
jne 0x102f1b11
lea eax, [eax + eax*2]
lea edi, [eax + 3]
mov dword [esp + 0x14], eax
and edi, 0xfffffffc
jmp 0x102f1b19
cmp ecx, 4
jne 0x102f1b19
lea ebx, [ebx + ebx*2]
cmp eax, 0x7fff
ja 0x102f1d2f
cmp ebx, 0x7fff
ja 0x102f1d2f
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x9c]
test byte [eax + 4], 1
je 0x102f1b64
push dword [esi + 0xc]
push dword [esp + 0x30]
call fcn.101028e6
mov eax, dword [esp + 0x24]
add esp, 8
mov dword [esi + 0xc], 0
mov eax, dword [eax + 0x9c]
and dword [eax + 4], 0xfffffffe
lea eax, [esp + 0x18]
push eax
mov eax, edi
imul eax, ebx
push eax
push dword [esp + 0x34]
call fcn.10102e40
mov dword [esi + 0xc], eax
add esp, 0xc
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x102f1d34
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x13], 1
mov eax, dword [ecx + 0x9c]
or dword [eax + 4], 1
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x64], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x68], eax
mov eax, 0x100
mov dword [ecx + 0x48], 0x62697473
mov ecx, dword [esp + 0x34]
mov word [esi + 0x10], ax
mov eax, dword [esp + 0x14]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x24]
mov byte [esi + 0x12], 2
mov dword [esi], ebx
mov dword [esi + 8], edi
test ecx, ecx
jne 0x102f1bdb
test eax, eax
je 0x102f1bee
push eax
push ecx
push dword [esp + 0x30]
call fcn.101053cf
add esp, 0xc
mov byte [esp + 0x12], 1
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], 1
push dword [eax + 0x34]
mov eax, dword [eax + 0x38]
call eax
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x102f1cc7
mov eax, dword [esp + 0x94]
cmp eax, 3
jne 0x102f1c7e
mov eax, dword [esi + 0xc]
test ebp, ebp
je 0x102f1cbd
mov ebx, dword [esp + 0x14]
lea esi, [eax - 1]
mov eax, dword [esp + 0x30]
dec ebx
mov edx, eax
test eax, eax
je 0x102f1c69
lea eax, [ebx + esi]
nop
movzx ecx, byte [esi + edx]
lea eax, [eax - 3]
mov byte [eax + 2], cl
mov byte [eax + 3], cl
mov byte [eax + 4], cl
sub edx, 1
jne 0x102f1c50
mov eax, dword [esp + 0x30]
add esi, edi
sub ebp, 1
jne 0x102f1c45
mov esi, dword [esp + 0x20]
xor bl, bl
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x102f1ccb
cmp eax, 4
jne 0x102f1cbd
mov esi, dword [esi + 0xc]
sub ebx, ebp
imul ebx, edi
add ebx, esi
test ebp, ebp
je 0x102f1cb9
push edi
push ebx
push esi
call fcn.1010578f
push edi
add esi, edi
push ebx
push esi
call fcn.1010578f
push edi
add esi, edi
push ebx
push esi
call fcn.1010578f
add esp, 0x24
add esi, edi
add ebx, edi
sub ebp, 1
jne 0x102f1c91
mov esi, dword [esp + 0x20]
xor bl, bl
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x102f1ccb
mov bl, byte [esp + 0x13]
cmp byte [esp + 0x12], 0
je 0x102f1cf0
mov eax, dword [esp + 0x24]
neg eax
push eax
mov eax, dword [esp + 0x38]
neg eax
push eax
push dword [esp + 0x30]
call fcn.101053cf
mov eax, dword [esp + 0x24]
add esp, 0xc
test bl, bl
je 0x102f1d34
push dword [esi + 0xc]
push dword [esp + 0x30]
call fcn.101028e6
mov eax, dword [esp + 0x24]
add esp, 8
mov dword [esi + 0xc], 0
mov eax, dword [eax + 0x9c]
pop edi
pop esi
pop ebp
and dword [eax + 4], 0xfffffffe
mov eax, dword [esp + 0xc]
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.101026a7
add esp, 0x78
ret
mov eax, 0x62
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101026a7
add esp, 0x78
ret