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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb4
push ebx
push esi
push edi
push 0x80
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
sub esp, 8
lea ecx, [esp + 0xac]
call fcn.1001fff0
mov edi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll__aligned_malloc]
push 0x20
push 0x2120
call edi
add esp, 8
test eax, eax
je 0x10020c11
mov ecx, eax
call fcn.10061ec0
mov esi, eax
jmp 0x10020c13
xor esi, esi
push 0x20
push 0x400000
call edi
add esp, 8
mov edi, eax
xor eax, eax
mov byte [eax + edi], al
inc eax
cmp eax, 0x400000
jl 0x10020c23
mov ebx, 0x20
mov ecx, 0xa
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x4c], ecx
push ebx
mov eax, 0x100
shl eax, cl
push ebx
push str._d_x__d_n_n
mov dword [esp + 0x24], eax
call fcn.10021eb0
movd xmm1, dword [esp + 0x24]
mov eax, ebx
cdq
mov ecx, ebx
and edx, 0x3f
movd xmm0, ebx
add eax, edx
and ecx, 0xfff
sar eax, 6
add esp, 0xc
and eax, 0x3f
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
xor ecx, ecx
shl eax, 0xe
mov dword [esp + 0x78], eax
mov eax, ebx
imul eax, ebx
movd xmm2, ecx
punpckldq xmm2, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x28], eax
punpckldq xmm2, xmm2
mulss xmm0, xmm1
movups xmmword [esp + 0x90], xmm2
movss dword [esp + 0x24], xmm0
nop
mov ecx, dword [eax + 0x101b7a80]
mov edx, ecx
shl edx, 7
and ecx, 0x3f
shl ecx, 8
or ecx, dword [esp + 0x70]
shl ecx, 0x10
mov eax, dword [edx + 0x10762124]
mov dword [esp + 0x34], eax
mov eax, dword [edx + 0x10762128]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 0x1076212c]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x10762130]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x60]
and eax, 0xc0c0c000
mov dword [esp + 0x48], edx
or eax, ecx
and dword [esp + 0x58], 0xf800f800
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x64]
and eax, 0xc0c0c000
and dword [esp + 0x5c], 0xf800f800
or eax, ecx
and byte [esp + 0x69], 0x7f
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
and eax, 0xfffff000
mov ecx, dword [esp + 0x28]
or eax, dword [esp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
and eax, 0xfffff000
movaps xmmword [esp + 0x80], xmm2
or eax, dword [esp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
and eax, 0xfff00000
mov byte [esp + 0x68], 0
or eax, dword [esp + 0x78]
mov dword [esp + 0x44], eax
movzx eax, word [edx + 0x1076213e]
imul eax, ebx
push dword [ecx + 0x101b7a84]
mov byte [esp + 0x70], 0x80
push str.__4s_
imul eax, ebx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
movzx eax, word [eax + 0x1076213c]
imul eax, ebx
imul eax, ebx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x48], eax
call fcn.10021eb0
add esp, 8
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
test ebx, ebx
jle 0x10020e1d
nop dword [eax]
lea eax, [esp + 0x50]
mov dword [esp + 0x30], 0
push eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x30], 0
push eax
lea eax, [esp + 0x68]
mov ecx, esi
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x3c]
push edi
push eax
lea eax, [esp + 0x48]
push eax
call dword [esp + 0x50]
sub ebx, 1
jne 0x10020de0
mov ebx, dword [esp + 0x18]
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
sub eax, dword [esp + 0x20]
movss xmm1, dword [0x101a4d7c]
movd xmm2, dword [esp + 0x14]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x24]
mulss xmm1, xmm2
mulss xmm0, dword [0x101a4d3c]
mulss xmm1, dword [0x101a4d3c]
cvttss2si eax, xmm0
movss dword [esp + 0x2c], xmm2
push eax
cvttss2si eax, xmm1
push eax
push str._6d__6d_
call fcn.10021eb0
add esp, 0xc
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov dword [esp + 0x30], eax
test ebx, ebx
jle 0x10020edd
nop word [eax + eax]
lea eax, [esp + 0x50]
mov dword [esp + 0x34], 0
push eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x24], 0
push eax
lea eax, [esp + 0x68]
mov ecx, esi
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x30]
push edi
push eax
lea eax, [esp + 0x4c]
push eax
call dword [esp + 0x54]
sub ebx, 1
jne 0x10020ea0
mov ebx, dword [esp + 0x18]
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
sub eax, dword [esp + 0x30]
movss xmm1, dword [0x101a4d7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [esp + 0x2c]
mulss xmm0, dword [esp + 0x24]
mulss xmm1, dword [0x101a4d3c]
mulss xmm0, dword [0x101a4d3c]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
push str._6d__6d_
call fcn.10021eb0
mov eax, dword [esp + 0x50]
add esp, 0xc
shr eax, 0x14
mov ecx, esi
and eax, 0x3f
push eax
mov eax, dword [esp + 0x48]
shr eax, 0xe
and eax, 0x3f
push eax
push 0
call fcn.100639d0
mov dword [esp + 0x14], eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov dword [esp + 0x20], eax
test ebx, ebx
jle 0x10020f96
mov ecx, dword [esp + 0x1c]
lea eax, [ecx*4]
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x68]
push ecx
push eax
push edi
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
push dword [esp + 0x24]
call dword [esp + 0x50]
mov eax, dword [esp + 0x38]
sub ebx, 1
jne 0x10020f70
mov ebx, dword [esp + 0x18]
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
sub eax, dword [esp + 0x20]
movss xmm1, dword [0x101a4d7c]
movd xmm2, dword [esp + 0x40]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x24]
mulss xmm1, xmm2
mulss xmm0, dword [0x101a4d3c]
mulss xmm1, dword [0x101a4d3c]
cvttss2si eax, xmm0
movss dword [esp + 0x3c], xmm2
push eax
cvttss2si eax, xmm1
push eax
push str._6d__6d
call fcn.10021eb0
mov eax, dword [esp + 0x54]
add esp, 0xc
cmp word [eax + 0x10762140], 0
jbe 0x10021098
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov dword [esp + 0x40], eax
test ebx, ebx
jle 0x10021045
lea eax, [esp + 0x68]
mov ecx, esi
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x88]
push edi
push eax
push dword [esp + 0x24]
call dword [esp + 0x90]
sub ebx, 1
jne 0x10021021
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
sub eax, dword [esp + 0x40]
movss xmm1, dword [0x101a4d7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [esp + 0x3c]
mulss xmm0, dword [esp + 0x24]
mulss xmm1, dword [0x101a4d3c]
mulss xmm0, dword [0x101a4d3c]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm1
push eax
push str.__6d__6d
call fcn.10021eb0
add esp, 0xc
push 0x1017547c
call fcn.10021eb0
mov eax, dword [esp + 0x2c]
add esp, 4
movups xmm2, xmmword [esp + 0x90]
mov ebx, dword [esp + 0x1c]
add eax, 8
mov dword [esp + 0x28], eax
cmp eax, 0x68
jb 0x10020cc0
push 0x1017547c
call fcn.10021eb0
mov ecx, dword [esp + 0x50]
add esp, 4
sub ecx, 2
rol ebx, 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x1c], ebx
test ecx, ecx
jns 0x10020c40
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll__aligned_free]
add esp, 4
test esi, esi
je 0x10021101
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
lea ecx, [esp + 0xa4]
call fcn.10020110
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10