Function at 0x488770
Capabilities:
Create process on windows
Encode data using xor
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fc8f6
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2c8
mov eax, dword [0x686bb0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x7c], esi
lea ecx, [ebp - 0x58]
call fcn.00487790
mov edx, eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x118]
call fcn.00486ee0
mov edi, eax
add esi, 0x100
cmp esi, edi
je 0x488843
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x488811
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x488807
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4888c1
mov eax, edx
push ecx
push eax
call fcn.005f7cf7
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
movups xmm0, xmmword [edi]
movups xmmword [esi], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov edx, dword [ebp - 0x104]
cmp edx, 0x10
jb 0x488879
mov ecx, dword [ebp - 0x118]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48886f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4888c1
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
cmp edx, 0x10
jb 0x4888d1
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4888c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4888c7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov edi, dword [ebp - 0x7c]
cmp dword [edi + 0x28], 0xa
jne 0x48a380
cmp dword [edi + 0x40], 0x40
jne 0x48a380
mov eax, dword [str._YQM:]
xor edx, edx
mov dword [ebp - 0x84], eax
mov al, byte [0x676964]
mov byte [ebp - 0x80], al
mov dword [ebp - 0x7c], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x84], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 5
jl 0x488900
lea ecx, [ebp - 0x84]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488958
sub ecx, edx
lea eax, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebp - 0xc8]
call fcn.0049ac20
mov dword [ebp - 4], 2
lea edx, [ebp - 0xc8]
cmp dword [ebp - 0xb4], 0x10
mov dword [ebp - 0x180], 0
cmovae edx, dword [ebp - 0xc8]
mov ecx, edx
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x7c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4889c0
sub ecx, dword [ebp - 0x7c]
push ecx
push edx
lea ecx, [ebp - 0x180]
call fcn.0049ac20
mov byte [ebp - 4], 3
mov ax, word [0x676a14]
movq xmm0, qword [0x676a0c]
movq qword [ebp - 0xa4], xmm0
mov word [ebp - 0x9c], ax
test ah, ah
je 0x488a2b
xor edx, edx
mov dword [ebp - 0x7c], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa4], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 0xa
jl 0x488a01
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488a60
sub ecx, edx
lea eax, [ebp - 0xa4]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.0049ac20
mov byte [ebp - 4], 4
lea eax, [ebp - 0xf4]
cmp dword [ebp - 0xe0], 0x10
lea edx, [edi + 0x18]
lea ecx, [ebp - 0x2d4]
cmovae eax, dword [ebp - 0xf4]
mov dword [ebp - 0x84], eax
call fcn.00487410
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 5
mov cx, word [0x67529c]
movq xmm0, qword [0x675294]
movq qword [ebp - 0xa4], xmm0
mov word [ebp - 0x9c], cx
test ch, ch
je 0x488b0a
xor edx, edx
mov dword [ebp - 0x7c], edx
nop dword [eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa4], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 0xa
jl 0x488ae0
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1b8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488b38
sub ecx, edx
lea eax, [ebp - 0xa4]
push ecx
push eax
lea ecx, [ebp - 0x1c8]
call fcn.0049ac20
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1c8]
cmp dword [ebp - 0x1b4], 0x10
lea ecx, [ebp - 0x2bc]
mov edx, edi
cmovae eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x100], eax
call fcn.00487410
mov dword [ebp - 0x120], eax
mov byte [ebp - 4], 7
xor edx, edx
mov ecx, dword [0x6750a0]
mov dword [ebp - 0xa0], ecx
mov cx, word [0x6750a4]
mov word [ebp - 0x9c], cx
mov cl, byte [0x6750a6]
mov byte [ebp - 0x9a], cl
mov dword [ebp - 0x7c], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa0], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 7
jl 0x488bb4
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1a0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488c10
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x1b0]
call fcn.0049ac20
mov byte [ebp - 4], 8
lea eax, [ebp - 0x1b0]
cmp dword [ebp - 0x19c], 0x10
cmovae eax, dword [ebp - 0x1b0]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xfc], esp
mov dword [ebp - 0x11c], eax
push 0x6d40b0
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 9
lea eax, [edi + 0x30]
mov dword [ebp - 0xf8], esp
mov ecx, esp
push eax
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov ecx, esp
push esi
call fcn.00499550
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 8
call fcn.004878d0
add esp, 0x48
mov dword [ebp - 0xfc], eax
mov byte [ebp - 4], 0xb
xor edx, edx
movq xmm0, qword [0x67516c]
mov cl, byte [0x675174]
movq qword [ebp - 0xa4], xmm0
mov byte [ebp - 0x9c], cl
mov dword [ebp - 0x7c], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa4], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 9
jl 0x488cc3
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x188], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488d20
sub ecx, edx
lea eax, [ebp - 0xa4]
push ecx
push eax
lea ecx, [ebp - 0x198]
call fcn.0049ac20
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x198]
cmp dword [ebp - 0x184], 0x10
cmovae eax, dword [ebp - 0x198]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xdc], esp
mov dword [ebp - 0xf8], eax
push 0x6d40b0
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0xd
lea eax, [edi + 0x30]
mov dword [ebp - 0xd0], esp
mov ecx, esp
push eax
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0xe
lea eax, [edi + 0x48]
mov ecx, esp
push eax
call fcn.00499550
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 0xc
call fcn.004878d0
add esp, 0x48
mov dword [ebp - 0xdc], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [0x676f30]
mov dword [ebp - 0xd0], ecx
mov cx, word [0x676f34]
mov word [ebp - 0xcc], cx
test ch, ch
je 0x488e0a
xor edx, edx
mov dword [ebp - 0x7c], edx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xd0], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 6
jl 0x488de0
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1e8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x1e4], 0xf
mov byte [ebp - 0x1f8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488e38
sub ecx, edx
lea eax, [ebp - 0xd0]
push ecx
push eax
lea ecx, [ebp - 0x1f8]
call fcn.0049ac20
mov byte [ebp - 4], 0x10
lea esi, [ebp - 0x1f8]
cmp dword [ebp - 0x1e4], 0x10
lea edx, [ebp - 0x180]
lea ecx, [ebp - 0x274]
cmovae esi, dword [ebp - 0x1f8]
call fcn.00487410
mov dword [ebp - 0xd0], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [str.BNH_a_]
mov dword [ebp - 0xa0], ecx
mov cx, word [0x6752a4]
mov word [ebp - 0x9c], cx
test ch, ch
je 0x488eda
xor edx, edx
mov dword [ebp - 0x7c], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa0], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 6
jl 0x488eb0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1d0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x1cc], 0xf
mov byte [ebp - 0x1e0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488f08
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0049ac20
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0x1e0]
cmp dword [ebp - 0x1cc], 0x10
cmovae edx, dword [ebp - 0x1e0]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x7c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488f44
sub ecx, dword [ebp - 0x7c]
push ecx
mov ecx, dword [ebp - 0xd0]
push edx
push 0
call fcn.0049ab20
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x168], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x158], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push esi
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x13
call fcn.00499370
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x138], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x128], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x138]
push dword [ebp - 0xdc]
lea ecx, [ebp - 0x118]
push eax
push dword [ebp - 0x83]
call fcn.0049dd40
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x118]
push dword [ebp - 0xf8]
call fcn.00499370
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x74], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x64], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x74]
push dword [ebp - 0xfc]
lea ecx, [ebp - 0x25c]
push eax
push dword [ebp - 0x83]
call fcn.0049dd40
push dword [ebp - 0x11c]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x17
call fcn.00499370
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x210], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x200], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x120]
lea eax, [ebp - 0x210]
mov byte [ebp - 4], 0x18
push eax
push dword [ebp - 0x83]
lea ecx, [ebp - 0x244]
call fcn.0049dd40
push dword [ebp - 0x100]
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x19
call fcn.00499370
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xb0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xa0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0xb0]
push dword [ebp - 0xd8]
lea ecx, [ebp - 0x22c]
push eax
push dword [ebp - 0x83]
call fcn.0049dd40
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x22c]
push dword [ebp - 0x84]
call fcn.00499370
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x150], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x140], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 0x6d40b0
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x1c
call fcn.00499440
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x13c]
cmp edx, 0x10
jb 0x4891e0
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4891d6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x218]
cmp edx, 0x10
jb 0x489239
mov ecx, dword [ebp - 0x22c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48922f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0xf
mov byte [ebp - 0x22c], 0
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0x9c]
cmp edx, 0x10
jb 0x489292
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489288
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x230]
cmp edx, 0x10
jb 0x4892d0
mov ecx, dword [ebp - 0x244]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4892c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0xf
mov byte [ebp - 0x244], 0
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x1fc]
cmp edx, 0x10
jb 0x489329
mov ecx, dword [ebp - 0x210]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48931f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x248]
cmp edx, 0x10
jb 0x489367
mov ecx, dword [ebp - 0x25c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48935d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0xf
mov byte [ebp - 0x25c], 0
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x4893ba
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4893b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x104]
cmp edx, 0x10
jb 0x4893f8
mov ecx, dword [ebp - 0x118]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4893ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0x124]
cmp edx, 0x10
jb 0x489451
mov ecx, dword [ebp - 0x138]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489447
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0x154]
cmp edx, 0x10
jb 0x48948f
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489485
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x1cc]
cmp edx, 0x10
jb 0x4894e8
mov ecx, dword [ebp - 0x1e0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4894de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x260]
cmp edx, 0x10
jb 0x489526
mov ecx, dword [ebp - 0x274]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48951c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0xf
mov byte [ebp - 0x274], 0
mov byte [ebp - 4], 0x2a
mov edx, dword [ebp - 0x1e4]
cmp edx, 0x10
jb 0x48957f
mov ecx, dword [ebp - 0x1f8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489575
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x278]
cmp edx, 0x10
jb 0x4895bd
mov ecx, dword [ebp - 0x28c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4895b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0xf
mov byte [ebp - 0x28c], 0
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x184]
cmp edx, 0x10
jb 0x489616
mov ecx, dword [ebp - 0x198]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48960c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x290]
cmp edx, 0x10
jb 0x489654
mov ecx, dword [ebp - 0x2a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48964a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 0xf
mov byte [ebp - 0x2a4], 0
mov byte [ebp - 4], 0x2e
mov edx, dword [ebp - 0x19c]
cmp edx, 0x10
jb 0x4896ad
mov ecx, dword [ebp - 0x1b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4896a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0x2a8]
cmp edx, 0x10
jb 0x4896eb
mov ecx, dword [ebp - 0x2bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4896e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0xf
mov byte [ebp - 0x2bc], 0
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x1b4]
cmp edx, 0x10
jb 0x489744
mov ecx, dword [ebp - 0x1c8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48973a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x31
mov edx, dword [ebp - 0x2c0]
cmp edx, 0x10
jb 0x489782
mov ecx, dword [ebp - 0x2d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489778
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0xf
mov byte [ebp - 0x2d4], 0
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0xe0]
cmp edx, 0x10
jb 0x4897db
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4897d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x33
mov edx, dword [ebp - 0x16c]
cmp edx, 0x10
jb 0x489815
mov ecx, dword [ebp - 0x180]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48980b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489860
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0xb4]
cmp edx, 0x10
jb 0x489870
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489866
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x489866
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.005f7cf7
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x58]
mov ecx, esp
push eax
call fcn.00499550
lea ecx, [ebp - 0x2c]
call fcn.0048e3c0
mov byte [ebp - 4], 0x35
mov ecx, esp
mov dword [ebp - 0x84], esp
push 0x6d40b0
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0x36
lea eax, [edi + 0x30]
mov dword [ebp - 0xd8], esp
mov ecx, esp
push eax
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.00499550
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x35
call fcn.00487b90
mov esi, eax
add esp, 0x48
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x489945
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x489911
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489907
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489971
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0x124]
cmp edx, 0x10
jb 0x489981
mov ecx, dword [ebp - 0x138]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489977
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x489977
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.005f7cf7
add esp, 8
sub esp, 0x28
lea edx, [ebp - 0x2c]
mov eax, esp
lea ecx, [ebp - 0x40]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.0049c100
add esp, 0x30
mov byte [ebp - 4], 0x38
cmp byte [0x67517f], 0
mov eax, dword [str.EB_Z_HO]
mov ecx, dword [0x67517c]
mov esi, dword [0x6d3fec]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
je 0x489b0c
xor edx, edx
mov dword [ebp - 0x7c], edx
cmp esi, 2
jl 0x489ae2
movaps xmm2, xmmword [0x677150]
mov edx, 5
movaps xmm3, xmmword [0x6774e0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm4, edx
psrad xmm1, xmm4
mov edx, 0x1f
movaps xmm0, xmm1
movd xmm5, edx
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x677180]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x677160]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x6771e0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.6666666666666666]
movd xmm0, eax
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0xa0], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm4
movaps xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x677180]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x6771e0]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.6666666666666666]
movd xmm0, ecx
pxor xmm1, xmm0
movd dword [ebp - 0x9c], xmm1
jmp 0x489b0c
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa0], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 8
jl 0x489ae2
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x489b40
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0xc8]
call fcn.0049ac20
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0xc8]
cmp dword [ebp - 0xb4], 0x10
lea ecx, [ebp - 0x40]
cmovae eax, dword [ebp - 0xc8]
push eax
call fcn.0049c240
mov ecx, eax
cmp byte [ecx], 4
jne 0x48a568
mov al, byte [ecx + 8]
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0xb4]
mov byte [ebp - 0x85], al
cmp edx, 0x10
jb 0x489bd5
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489bc5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489d4f
push edx
push ecx
call fcn.005f7cf7
mov al, byte [ebp - 0x85]
add esp, 8
test al, al
je 0x489d7d
mov ax, word [0x676ef0]
movq xmm0, qword [str.ERKJSTRTZ_]
movq qword [ebp - 0xa4], xmm0
mov word [ebp - 0x9c], ax
test ah, ah
je 0x489c2d
xor edx, edx
mov dword [ebp - 0x7c], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa4], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 0xa
jl 0x489c03
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x489c60
sub ecx, edx
lea eax, [ebp - 0xa4]
push ecx
push eax
lea ecx, [ebp - 0xc8]
call fcn.0049ac20
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0xc8]
cmp dword [ebp - 0xb4], 0x10
lea ecx, [ebp - 0x40]
cmovae eax, dword [ebp - 0xc8]
push eax
call fcn.0049c240
push eax
lea ecx, [edi + 0xe8]
call fcn.004a0fd0
mov edx, dword [ebp - 0xb4]
cmp edx, 0x10
jb 0x489cdf
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489cd5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489d4f
push edx
push ecx
call fcn.005f7cf7
add esp, 8
lea ecx, [ebp - 0x40]
call fcn.00498110
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x489d17
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489d0d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x489d4f
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp edx, 0x10
jb 0x489d5f
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x489d55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x489d55
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005f7bd4
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ax, word [0x676edc]
xor edx, edx
movq xmm0, qword [str._YNXVRXK_M_]
mov word [ebp - 0x9c], ax
mov al, byte [0x676ede]
movq qword [ebp - 0xa4], xmm0
mov byte [ebp - 0x9a], al
mov dword [ebp - 0x7c], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa4], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 0xb
jl 0x489db0
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xe4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x489e08
sub ecx, edx
lea eax, [ebp - 0xa4]
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.0049ac20
mov byte [ebp - 4], 0x3d
lea edi, [ebp - 0xf4]
cmp dword [ebp - 0xe0], 0x10
mov ecx, dword [0x6751d4]
cmovae edi, dword [ebp - 0xf4]
cmp byte [0x6751db], 0
mov eax, dword [0x6751d8]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], eax
je 0x489faa
xor edx, edx
mov dword [ebp - 0x7c], edx
cmp esi, 2
jl 0x489f80
movaps xmm2, xmmword [0x677150]
mov eax, 5
movaps xmm4, xmmword [0x6774e0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [str.6666666666666666]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x677180]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x677160]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x6771e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0xa0], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x677180]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x6771e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x6751d8]
pxor xmm1, xmm0
movd dword [ebp - 0x9c], xmm1
jmp 0x489faa
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x7c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa0], cl
inc edx
mov dword [ebp - 0x7c], edx
cmp edx, 8
jl 0x489f80
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x489fd8
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0xc8]
call fcn.0049ac20
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0xc8]
cmp dword [ebp - 0xb4], 0x10
lea ecx, [ebp - 0x40]
cmovae eax, dword [ebp - 0xc8]
push eax
call fcn.0049c240
mov dword [ebp - 0x84], eax
mov byte [ebp - 4], 0x3f
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0xa0], xmm0
mov byte [ebp - 0xa8], 3
call fcn.005f83f1
mov esi, eax
mov ecx, edi
add esp, 4
mov dword [esi], 0
lea edx, [ecx + 1]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48a056
sub ecx, edx
push ecx
push edi
mov ecx, esi
call fcn.0049ac20
mov ecx, dword [ebp - 0x84]
lea edx, [ebp - 0xa8]
mov dword [ebp - 0xa0], esi
call fcn.0049d8f0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 0x85], al
call fcn.00498110
mov byte [ebp - 4], 0x3d
mov edx, dword [ebp - 0xb4]
cmp edx, 0x10
jb 0x48a0ca
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48a0c0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48a0fa
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0xe0]
cmp edx, 0x10
jb 0x48a10a
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48a100
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x48a100
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.005f7cf7
add esp, 8
cmp byte [ebp - 0x85], 0
je 0x48a221
lea eax, [ebp - 0xa4]
push eax
call fcn.0048a630
mov edi, eax
cmp byte [edi + 8], 0
je 0x48a156
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [esi], cl
mov ecx, dword [ebp - 0x7c]
inc ecx
mov dword [ebp - 0x7c], ecx
cmp ecx, 9
jl 0x48a130
push edi
lea ecx, [ebp - 0x138]
call fcn.00499510
mov ecx, eax
mov byte [ebp - 4], 0x40
call fcn.00499360
push eax
lea ecx, [ebp - 0x40]
call fcn.0049c240
lea ecx, [ebp - 0x74]
push ecx
mov ecx, eax
call fcn.0049c380
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x42
call fcn.004994c0
lea ecx, [ebp - 0x74]
call fcn.00499360
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0xd8]
push eax
call fcn.0048a650
mov edi, eax
cmp byte [edi + 4], 0
je 0x48a1e6
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
nop word [eax + eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [esi], cl
mov ecx, dword [ebp - 0x7c]
inc ecx
mov dword [ebp - 0x7c], ecx
cmp ecx, 5
jl 0x48a1c0
push edi
lea ecx, [ebp - 0x210]
call fcn.00499510
mov ecx, eax
call fcn.00499360
push 1
push 0
push 0
push dword [ebp - 0x84]
push eax
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0x210]
call fcn.004994c0
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea eax, [ebp - 0xa0]
push eax
call fcn.0048a670
mov edi, eax
cmp byte [edi + 7], 0
je 0x48a5b8
xor ecx, ecx
cmp dword [0x6d3fec], 2
mov dword [ebp - 0x7c], ecx
jl 0x48a354
movaps xmm2, xmmword [0x677150]
mov eax, 5
movaps xmm4, xmmword [0x6774e0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
movaps xmm0, xmm1
movd xmm6, eax
mov eax, dword [str.6666666666666666]
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x677180]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x677160]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x6771e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi]
pxor xmm1, xmm0
movaps xmm0, xmm2
movd dword [edi], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm6
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x677180]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x6771e0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edi + 4]
pxor xmm1, xmm0
movd dword [edi + 4], xmm1
jmp 0x48a5b8
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
mul ecx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [esi], cl
mov ecx, dword [ebp - 0x7c]
inc ecx
mov dword [ebp - 0x7c], ecx
cmp ecx, 8
jge 0x48a5b8
jmp 0x48a354
lea eax, [ebp - 0x78]
push eax
call fcn.0048a5f0
mov edi, eax
mov dword [ebp - 0xd8], edi
cmp byte [edi + 0x1d], 0
je 0x48a53f
xor ecx, ecx
cmp dword [0x6d3fec], 2
mov dword [ebp - 0x7c], ecx
jl 0x48a510
movaps xmm0, xmmword [str.6666666666666666]
mov eax, 5
movaps xmm4, xmmword [0x677150]
mov edx, edi
movaps xmm3, xmmword [0x6774e0]
movaps xmm6, xmmword [0x677180]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0xb0], xmm0
mov esi, dword [ebp - 0xb0]
movd xmm7, eax
mov eax, 4
sub eax, edi
mov dword [ebp - 0x84], eax
mov edi, eax
nop dword [eax]
movd xmm0, ecx
lea eax, [edi + edx]
pshufd xmm2, xmm0, 0
lea edx, [edx + 8]
paddd xmm2, xmm4
add ecx, 8
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x6771e0]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [edx - 8]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [edx - 8], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x6771e0]
packuswb xmm1, xmm1
movd xmm0, esi
paddb xmm1, xmm0
movd xmm0, dword [edx - 4]
pxor xmm1, xmm0
movd dword [edx - 4], xmm1
cmp ecx, 0x18
jl 0x48a400
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0x7c], ecx
cmp ecx, 0x1e
jge 0x48a53f
nop dword [eax]
mov eax, 0x8d3dcb09
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [esi], cl
mov ecx, dword [ebp - 0x7c]
inc ecx
mov dword [ebp - 0x7c], ecx
cmp ecx, 0x1e
jl 0x48a510
push edi
lea ecx, [ebp - 0x58]
call fcn.00499510
sub esp, 0x18
mov dword [ebp - 4], 1
mov ecx, eax
mov esi, esp
call fcn.00499360
push eax
mov ecx, esi
call fcn.00499510
call fcn.0048df40
call fcn.0049a890
push eax
lea ecx, [ebp - 0x138]
call fcn.00499510
push eax
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x3a
push str.type_must_be_boolean__but_is
push eax
call fcn.0049b910
add esp, 0xc
push eax
mov edx, 0x12e
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x214]
call fcn.00485ee0
add esp, 4
lea eax, [ebp - 0x214]
push 0x67f2b0
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
push edi
lea ecx, [ebp - 0x138]
call fcn.00499510
mov ecx, eax
mov byte [ebp - 4], 0x43
call fcn.00499360
push eax
lea ecx, [ebp - 0x40]
call fcn.0049c240
sub esp, 0x18
mov ecx, eax
push esp
call fcn.0049c380
call fcn.0048df40
int3