Function at 0x4301c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push 0x300
push 1
mov dword [ebp - 8], edx
mov ebx, ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov esi, eax
add esp, 8
test esi, esi
jne 0x430203
push str.____out_of_memory__aborting_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
add esp, 8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
mov eax, dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
push 0
mov dword [esi], ebx
mov dword [ebp - 0xc], eax
call eax
or dword [esi + 0x220], 1
add esp, 4
mov dword [esi + 0x218], eax
mov dword [esi + 0x21c], edx
mov eax, dword [ebx + 0xed0]
mov dword [esi + 0x238], eax
mov eax, dword [ebx + 0xed4]
mov dword [esi + 0x23c], eax
mov eax, dword [ebx + 0xed8]
mov ecx, dword [ebx + 0xedc]
mov dword [esi + 0x240], eax
mov dword [esi + 0x244], ecx
mov eax, dword [ebx + 0x13f4]
mov dword [esi + 0x2d8], eax
movups xmm0, xmmword [ebx + 0x13d8]
movups xmmword [esi + 0x2c0], xmm0
movq xmm0, qword [ebx + 0x13e8]
movq qword [esi + 0x2d0], xmm0
mov eax, dword [ebx + 0x13f0]
mov dword [esi + 0x2dc], eax
mov ecx, dword [ebx + 0xc84]
mov eax, dword [esi + 0x258]
shr ecx, 2
xor ecx, eax
and ecx, 1
xor ecx, eax
mov dword [esi + 0x258], ecx
mov edx, dword [ebx + 0xc84]
shr edx, 4
xor edx, ecx
and edx, 2
xor edx, ecx
mov dword [esi + 0x258], edx
mov eax, dword [ebx + 0xecc]
shr eax, 2
xor eax, edx
and eax, 4
xor eax, edx
mov dword [esi + 0x258], eax
mov ecx, dword [ebx + 0xecc]
shl ecx, 3
xor ecx, eax
and ecx, 8
xor ecx, eax
mov dword [esi + 0x258], ecx
mov eax, dword [ebx + 0xecc]
shl eax, 3
xor eax, ecx
and eax, 0x10
xor eax, ecx
mov dword [esi + 0x258], eax
mov ecx, dword [ebx + 0xecc]
shl ecx, 3
xor ecx, eax
and ecx, 0x20
xor ecx, eax
mov dword [esi + 0x258], ecx
mov eax, dword [ebx + 0xec4]
shl eax, 6
xor eax, ecx
and eax, 0x40
xor eax, ecx
mov dword [esi + 0x258], eax
lea eax, [ebx + 0xdc4]
test eax, eax
jne 0x43033b
xor edi, edi
jmp 0x430349
mov edi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x430340
sub edi, ecx
lea ecx, [edi + 1]
mov eax, 1
test ecx, ecx
cmovne eax, ecx
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebp - 4], eax
test eax, eax
je 0x4301e4
lea edx, [ebx + 0xdc4]
test edx, edx
je 0x430386
lea ecx, [edi + 1]
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 4]
add esp, 0xc
mov byte [eax + edi], 0
mov dword [esi + 0x2f8], eax
lea eax, [ebx + 0xee0]
test eax, eax
jne 0x43039e
xor edi, edi
jmp 0x4303ac
mov edi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4303a3
sub edi, ecx
lea ecx, [edi + 1]
mov eax, 1
test ecx, ecx
cmovne eax, ecx
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebp - 4], eax
test eax, eax
je 0x4301e4
lea ecx, [ebx + 0xee0]
test ecx, ecx
je 0x4303e9
lea edx, [edi + 1]
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 4]
add esp, 0xc
mov byte [eax + edi], 0
lea edi, [ebx + 0xcc4]
mov dword [esi + 0x254], eax
cmp dword [ebx + 0xb98], 1
ja 0x430464
test edi, edi
je 0x430419
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x430410
sub edi, ecx
lea ecx, [edi + 1]
mov eax, 1
test ecx, ecx
cmovne eax, ecx
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
test ecx, ecx
je 0x4301e4
lea eax, [ebx + 0xcc4]
test eax, eax
je 0x430458
lea edx, [edi + 1]
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 4]
add esp, 0xc
mov byte [ecx + edi], 0
lea edi, [ebx + 0xcc4]
jmp 0x430470
mov edx, dword [ebp - 8]
mov ecx, edi
call fcn.00430100
mov ecx, eax
mov dword [esi + 4], ecx
movups xmm0, xmmword [ebx + 0x120]
movups xmmword [esi + 8], xmm0
movups xmm0, xmmword [ebx + 0x130]
movups xmmword [esi + 0x18], xmm0
movups xmm0, xmmword [ebx + 0x140]
movups xmmword [esi + 0x28], xmm0
movups xmm0, xmmword [ebx + 0x150]
movups xmmword [esi + 0x38], xmm0
movups xmm0, xmmword [ebx + 0x290]
movups xmmword [esi + 0x48], xmm0
movups xmm0, xmmword [ebx + 0x2a0]
movups xmmword [esi + 0x58], xmm0
movups xmm0, xmmword [ebx + 0x2b0]
movups xmmword [esi + 0x68], xmm0
movups xmm0, xmmword [ebx + 0x2c0]
movups xmmword [esi + 0x78], xmm0
movups xmm0, xmmword [ebx + 0x400]
movups xmmword [esi + 0x88], xmm0
movups xmm0, xmmword [ebx + 0x410]
movups xmmword [esi + 0x98], xmm0
movups xmm0, xmmword [ebx + 0x420]
movups xmmword [esi + 0xa8], xmm0
movups xmm0, xmmword [ebx + 0x430]
movups xmmword [esi + 0xb8], xmm0
movups xmm0, xmmword [ebx + 0x570]
movups xmmword [esi + 0xc8], xmm0
movups xmm0, xmmword [ebx + 0x580]
movups xmmword [esi + 0xd8], xmm0
movups xmm0, xmmword [ebx + 0x590]
movups xmmword [esi + 0xe8], xmm0
movups xmm0, xmmword [ebx + 0x5a0]
movups xmmword [esi + 0xf8], xmm0
movups xmm0, xmmword [ebx + 0x6e0]
movups xmmword [esi + 0x108], xmm0
movups xmm0, xmmword [ebx + 0x6f0]
movups xmmword [esi + 0x118], xmm0
movups xmm0, xmmword [ebx + 0x700]
movups xmmword [esi + 0x128], xmm0
movups xmm0, xmmword [ebx + 0x710]
movups xmmword [esi + 0x138], xmm0
movups xmm0, xmmword [ebx + 0x850]
movups xmmword [esi + 0x148], xmm0
movups xmm0, xmmword [ebx + 0x860]
movups xmmword [esi + 0x158], xmm0
movups xmm0, xmmword [ebx + 0x870]
movups xmmword [esi + 0x168], xmm0
movups xmm0, xmmword [ebx + 0x880]
movups xmmword [esi + 0x178], xmm0
movups xmm0, xmmword [ebx + 0x9c0]
movups xmmword [esi + 0x188], xmm0
movups xmm0, xmmword [ebx + 0x9d0]
movups xmmword [esi + 0x198], xmm0
movups xmm0, xmmword [ebx + 0x9e0]
movups xmmword [esi + 0x1a8], xmm0
movups xmm0, xmmword [ebx + 0x9f0]
movups xmmword [esi + 0x1b8], xmm0
movups xmm0, xmmword [ebx + 0xb30]
movups xmmword [esi + 0x1c8], xmm0
movups xmm0, xmmword [ebx + 0xb40]
movups xmmword [esi + 0x1d8], xmm0
movups xmm0, xmmword [ebx + 0xb50]
movups xmmword [esi + 0x1e8], xmm0
movups xmm0, xmmword [ebx + 0xb60]
movups xmmword [esi + 0x1f8], xmm0
mov eax, dword [ebx + 0xcc0]
mov dword [esi + 0x210], eax
cmp eax, 0x80
ja 0x430670
je 0x430669
sub eax, 2
cmp eax, 0xf
ja case.0x43063f.3
movzx eax, byte [eax + 0x4307a4]
jmp dword [eax*4 + 0x43078c]
mov eax, 0x446660
jmp 0x4306b6
mov eax, 0x446690
jmp 0x4306b6
mov eax, 0x446600
jmp 0x4306b6
mov eax, 0x446618
jmp 0x4306b6
mov eax, 0x44659c
jmp 0x4306b6
mov eax, 0x4465d0
jmp 0x4306b6
cmp eax, 0x400
ja 0x430695
je case.0x43063f.3
cmp eax, 0x100
je 0x43068e
cmp eax, 0x200
jne case.0x43063f.3
mov eax, 0x446678
jmp 0x4306b6
mov eax, 0x446648
jmp 0x4306b6
cmp eax, 0x800
je 0x4306b1
cmp eax, 0x1000
je 0x4306aa
mov eax, 0x446630
jmp 0x4306b6
mov eax, 0x4465e8
jmp 0x4306b6
mov eax, 0x4465b8
mov dword [esi + 0x20c], eax
cmp byte [edi], 0
je 0x430701
cmp eax, 0x446630
je 0x430701
mov edx, edi
mov ecx, esi
call fcn.0042ff20
test eax, eax
jne 0x4306e7
push edi
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
add esp, 4
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0
mov dword [esi + 0x208], eax
call dword [ebp - 0xc]
add esp, 4
mov dword [esi + 0x230], eax
mov dword [esi + 0x234], edx
cmp dword [ebx + 0xed0], 0
jne 0x430713
mov ecx, 0x7fffffff
xor eax, eax
jmp 0x430777
cmp dword [esi + 0x23c], 1
mov edx, dword [esi + 0x238]
mov edi, dword [esi + 0x230]
mov ebx, dword [esi + 0x234]
push 0
push edx
jbe 0x430754
mov ecx, edi
mov eax, ebx
sub ecx, edx
sbb eax, 0
push eax
push ecx
call fcn.00444580
mov ecx, edi
sub ecx, eax
mov eax, ebx
sbb eax, edx
add ecx, dword [esi + 0x23c]
adc eax, 0
jmp 0x430777
push ebx
push edi
call fcn.00444580
mov ecx, dword [esi + 0x238]
sub ecx, eax
mov eax, 0
sbb eax, edx
add ecx, dword [esi + 0x23c]
adc eax, 0
add ecx, edi
adc eax, ebx
mov dword [esi + 0x228], ecx
mov dword [esi + 0x22c], eax
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret