Function at 0x48a690
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fcb08
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x348
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 edi, ecx
mov dword [ebp - 0xb4], edi
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0
call fcn.00487790
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44]
call fcn.00486ee0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xec]
cmp edx, 0x10
jb 0x48a739
mov ecx, dword [ebp - 0x100]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48a72f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x48a72f
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
lea ecx, [ebp - 0x88]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
call fcn.00488090
mov byte [ebp - 4], 4
cmp byte [0x676f3f], 0
mov eax, dword [str.Z_THYqXCSWP_]
mov ecx, dword [0x676f3c]
mov esi, dword [0x6d3fec]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
je 0x48a8d5
xor edx, edx
mov dword [ebp - 0x8c], edx
cmp esi, 2
jl 0x48a8a5
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 - 0x9c], 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 - 0x98], xmm1
jmp 0x48a8d5
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x8c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x9c], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 8
jl 0x48a8a5
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xc4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48a903
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0xd4]
call fcn.0049ac20
mov byte [ebp - 4], 5
lea edx, [ebp - 0xd4]
cmp dword [ebp - 0xc0], 0x10
mov dword [ebp - 0x15c], 0
cmovae edx, dword [ebp - 0xd4]
mov ecx, edx
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48a961
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x15c]
call fcn.0049ac20
mov byte [ebp - 4], 6
mov ax, word [0x676a14]
movq xmm0, qword [0x676a0c]
movq qword [ebp - 0xa0], xmm0
mov word [ebp - 0x98], ax
test ah, ah
je 0x48a9d4
xor edx, edx
mov dword [ebp - 0x8c], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x8c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa0], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 0xa
jl 0x48a9a4
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x17c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48aa02
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x18c]
call fcn.0049ac20
mov byte [ebp - 4], 7
lea eax, [ebp - 0x18c]
cmp dword [ebp - 0x178], 0x10
lea edx, [edi + 0x18]
lea ecx, [ebp - 0x2f4]
cmovae eax, dword [ebp - 0x18c]
mov dword [ebp - 0xdc], eax
call fcn.00487410
mov dword [ebp - 0xe8], eax
mov byte [ebp - 4], 8
mov cx, word [0x67529c]
movq xmm0, qword [0x675294]
movq qword [ebp - 0xa0], xmm0
mov word [ebp - 0x98], cx
test ch, ch
je 0x48aab0
xor edx, edx
mov dword [ebp - 0x8c], edx
nop
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x8c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa0], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 0xa
jl 0x48aa80
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x164], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x160], 0xf
mov byte [ebp - 0x174], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48aae0
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x174]
call fcn.0049ac20
mov byte [ebp - 4], 9
lea eax, [ebp - 0x174]
cmp dword [ebp - 0x160], 0x10
lea ecx, [ebp - 0x2dc]
mov edx, edi
cmovae eax, dword [ebp - 0x174]
mov dword [ebp - 0x114], eax
call fcn.00487410
mov dword [ebp - 0x110], eax
mov byte [ebp - 4], 0xa
xor edx, edx
mov ecx, dword [0x6750a0]
mov dword [ebp - 0x9c], ecx
mov cx, word [0x6750a4]
mov word [ebp - 0x98], cx
mov cl, byte [0x6750a6]
mov byte [ebp - 0x96], cl
mov dword [ebp - 0x8c], edx
nop
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x8c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x9c], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 7
jl 0x48ab60
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x20c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x208], 0xf
mov byte [ebp - 0x21c], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48abc0
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0x21c]
call fcn.0049ac20
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x21c]
cmp dword [ebp - 0x208], 0x10
lea edx, [edi + 0xe8]
lea ecx, [ebp - 0x2c4]
cmovae eax, dword [ebp - 0x21c]
mov dword [ebp - 0x10c], eax
call fcn.00487410
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 0xc
cmp byte [0x676a0b], 0
movq xmm0, qword [0x676a00]
mov ecx, dword [0x676a08]
movq qword [ebp - 0xa0], xmm0
mov dword [ebp - 0x98], ecx
je 0x48adad
xor edx, edx
cmp dword [0x6d3fec], 2
mov dword [ebp - 0x8c], edx
jl 0x48ad70
movaps xmm2, xmmword [0x677150]
mov eax, 5
movaps xmm4, xmmword [0x6774e0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
mov edx, 8
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
movd xmm5, eax
psrad xmm1, xmm5
mov eax, 0x1f
mov dword [ebp - 0x8c], edx
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 [0x676a00]
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 [ebp - 0x9c]
pxor xmm1, xmm0
movd dword [ebp - 0x9c], xmm1
mov eax, 0x8d3dcb09
imul edx
add edx, dword [ebp - 0x8c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x8c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xa0], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 0xc
jl 0x48ad70
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1dc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x1d8], 0xf
mov byte [ebp - 0x1ec], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48ade0
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x1ec]
call fcn.0049ac20
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x1ec]
cmp dword [ebp - 0x1d8], 0x10
cmovae eax, dword [ebp - 0x1ec]
sub esp, 0x18
mov dword [ebp - 0x104], eax
mov ecx, esp
lea eax, [ebp - 0x44]
mov dword [ebp - 0xe4], esp
push eax
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0xe
lea esi, [edi + 0x100]
mov dword [ebp - 0xe0], esp
mov ecx, esp
mov dword [ebp - 0x94], esi
push esi
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.00499550
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xd
call fcn.004878d0
add esp, 0x48
mov dword [ebp - 0xe4], eax
mov byte [ebp - 4], 0x10
xor edx, edx
mov ecx, dword [0x674f20]
mov dword [ebp - 0x9c], ecx
mov cx, word [0x674f24]
mov word [ebp - 0x98], cx
mov cl, byte [0x674f26]
mov byte [ebp - 0x96], cl
mov dword [ebp - 0x8c], edx
nop
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x8c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x9c], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 7
jl 0x48aeb0
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x194], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x190], 0xf
mov byte [ebp - 0x1a4], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48af10
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0x1a4]
call fcn.0049ac20
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x1a4]
cmp dword [ebp - 0x190], 0x10
cmovae eax, dword [ebp - 0x1a4]
sub esp, 0x18
mov dword [ebp - 0xe0], eax
mov ecx, esp
lea eax, [ebp - 0x44]
mov dword [ebp - 0xd8], esp
push eax
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, esp
mov dword [ebp - 0xbc], esp
push esi
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0x13
lea eax, [ebx + 8]
mov ecx, esp
push eax
call fcn.00499550
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x11
call fcn.004878d0
add esp, 0x48
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [0x676b68]
mov dword [ebp - 0xbc], ecx
mov cx, word [0x676b6c]
mov word [ebp - 0xb8], cx
test ch, ch
je 0x48b000
xor edx, edx
mov dword [ebp - 0x8c], edx
nop word [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x8c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0xbc], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 6
jl 0x48afd0
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1ac], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x1a8], 0xf
mov byte [ebp - 0x1bc], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48b030
sub ecx, edx
lea eax, [ebp - 0xbc]
push ecx
push eax
lea ecx, [ebp - 0x1bc]
call fcn.0049ac20
mov byte [ebp - 4], 0x15
lea esi, [ebp - 0x1bc]
cmp dword [ebp - 0x1a8], 0x10
lea edx, [ebp - 0x15c]
lea ecx, [ebp - 0x294]
cmovae esi, dword [ebp - 0x1bc]
call fcn.00487410
mov dword [ebp - 0xbc], eax
mov byte [ebp - 4], 0x16
mov ecx, dword [str.BNH_a_]
mov dword [ebp - 0x9c], ecx
mov cx, word [0x6752a4]
mov word [ebp - 0x98], cx
test ch, ch
je 0x48b0d5
xor edx, edx
mov dword [ebp - 0x8c], edx
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x8c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x9c], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 6
jl 0x48b0a5
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1c4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x1c0], 0xf
mov byte [ebp - 0x1d4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48b103
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0049ac20
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x1d4]
cmp dword [ebp - 0x1c0], 0x10
cmovae edx, dword [ebp - 0x1d4]
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48b140
sub ecx, edi
push ecx
mov ecx, dword [ebp - 0xbc]
push edx
push 0
call fcn.0049ab20
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x144], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x134], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push esi
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x18
call fcn.00499370
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x204], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1f4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x204]
push dword [ebp - 0xd8]
lea ecx, [ebp - 0x100]
push eax
push dword [ebp - 0x93]
call fcn.0049dd40
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x100]
push dword [ebp - 0xe0]
call fcn.00499370
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x340], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x330], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x340]
push dword [ebp - 0xe4]
lea ecx, [ebp - 0x27c]
push eax
push dword [ebp - 0x93]
call fcn.0049dd40
push dword [ebp - 0x104]
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x1c
call fcn.00499370
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x324], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x314], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x108]
lea eax, [ebp - 0x324]
mov byte [ebp - 4], 0x1d
push eax
push dword [ebp - 0x93]
lea ecx, [ebp - 0x264]
call fcn.0049dd40
push dword [ebp - 0x10c]
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x1e
call fcn.00499370
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x358], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x348], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x110]
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 0x1f
push eax
push dword [ebp - 0x93]
lea ecx, [ebp - 0x24c]
call fcn.0049dd40
push dword [ebp - 0x114]
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x20
call fcn.00499370
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xac], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x9c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0xac]
push dword [ebp - 0xe8]
lea ecx, [ebp - 0x234]
push eax
push dword [ebp - 0x93]
call fcn.0049dd40
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x234]
push dword [ebp - 0xdc]
call fcn.00499370
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x12c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x12c]
call fcn.00499440
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x118]
cmp edx, 0x10
jb 0x48b442
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b438
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0x220]
cmp edx, 0x10
jb 0x48b49b
mov ecx, dword [ebp - 0x234]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b491
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0xf
mov byte [ebp - 0x234], 0
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x48b4f4
mov ecx, dword [ebp - 0xac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b4ea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x238]
cmp edx, 0x10
jb 0x48b532
mov ecx, dword [ebp - 0x24c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b528
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0xf
mov byte [ebp - 0x24c], 0
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x344]
cmp edx, 0x10
jb 0x48b58b
mov ecx, dword [ebp - 0x358]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b581
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x2a
mov edx, dword [ebp - 0x250]
cmp edx, 0x10
jb 0x48b5c9
mov ecx, dword [ebp - 0x264]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b5bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0xf
mov byte [ebp - 0x264], 0
mov byte [ebp - 4], 0x2b
mov edx, dword [ebp - 0x310]
cmp edx, 0x10
jb 0x48b622
mov ecx, dword [ebp - 0x324]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b618
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x268]
cmp edx, 0x10
jb 0x48b660
mov ecx, dword [ebp - 0x27c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b656
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0xf
mov byte [ebp - 0x27c], 0
mov byte [ebp - 4], 0x2d
mov edx, dword [ebp - 0x32c]
cmp edx, 0x10
jb 0x48b6b9
mov ecx, dword [ebp - 0x340]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b6af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x2e
mov edx, dword [ebp - 0xec]
cmp edx, 0x10
jb 0x48b6f7
mov ecx, dword [ebp - 0x100]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b6ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0x1f0]
cmp edx, 0x10
jb 0x48b750
mov ecx, dword [ebp - 0x204]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b746
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x48b78e
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b784
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
mov byte [ebp - 4], 0x31
mov edx, dword [ebp - 0x1c0]
cmp edx, 0x10
jb 0x48b7e7
mov ecx, dword [ebp - 0x1d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b7dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0x280]
cmp edx, 0x10
jb 0x48b825
mov ecx, dword [ebp - 0x294]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b81b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0xf
mov byte [ebp - 0x294], 0
mov byte [ebp - 4], 0x33
mov edx, dword [ebp - 0x1a8]
cmp edx, 0x10
jb 0x48b87e
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b874
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0x2f8]
cmp edx, 0x10
jb 0x48b8bc
mov ecx, dword [ebp - 0x30c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b8b2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x2f8], 0xf
mov byte [ebp - 0x30c], 0
mov byte [ebp - 4], 0x35
mov edx, dword [ebp - 0x190]
cmp edx, 0x10
jb 0x48b915
mov ecx, dword [ebp - 0x1a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b90b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x298]
cmp edx, 0x10
jb 0x48b953
mov ecx, dword [ebp - 0x2ac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b949
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0xf
mov byte [ebp - 0x2ac], 0
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0x1d8]
cmp edx, 0x10
jb 0x48b9ac
mov ecx, dword [ebp - 0x1ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b9a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0x2b0]
cmp edx, 0x10
jb 0x48b9ea
mov ecx, dword [ebp - 0x2c4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48b9e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0xf
mov byte [ebp - 0x2c4], 0
mov byte [ebp - 4], 0x39
mov edx, dword [ebp - 0x208]
cmp edx, 0x10
jb 0x48ba43
mov ecx, dword [ebp - 0x21c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48ba39
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x3a
mov edx, dword [ebp - 0x2c8]
cmp edx, 0x10
jb 0x48ba81
mov ecx, dword [ebp - 0x2dc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48ba77
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
mov byte [ebp - 4], 0x3b
mov edx, dword [ebp - 0x160]
cmp edx, 0x10
jb 0x48bada
mov ecx, dword [ebp - 0x174]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48bad0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x3c
mov edx, dword [ebp - 0x2e0]
cmp edx, 0x10
jb 0x48bb18
mov ecx, dword [ebp - 0x2f4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48bb0e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2e0], 0xf
mov byte [ebp - 0x2f4], 0
mov byte [ebp - 4], 0x3d
mov edx, dword [ebp - 0x178]
cmp edx, 0x10
jb 0x48bb71
mov ecx, dword [ebp - 0x18c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48bb67
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x48bbab
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48bba1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bbf6
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
mov byte [ebp - 4], 0x3f
mov edx, dword [ebp - 0xc0]
cmp edx, 0x10
jb 0x48bc06
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48bbfc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x48bbfc
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 - 0x70]
mov ecx, esp
push eax
call fcn.00499550
lea ecx, [ebp - 0x2c]
call fcn.0048e3c0
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x44]
mov ecx, esp
mov dword [ebp - 0xdc], esp
push eax
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0x41
mov ecx, esp
mov dword [ebp - 0xe8], esp
push dword [ebp - 0x94]
call fcn.00499550
sub esp, 0x18
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.00499550
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0x40
call fcn.00487b90
mov esi, eax
add esp, 0x48
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x48bcdc
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x48bca8
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48bc9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48bd08
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 - 0x1f0]
cmp edx, 0x10
jb 0x48bd18
mov ecx, dword [ebp - 0x204]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48bd0e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x48bd0e
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 - 0x58]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.0049c100
add esp, 0x30
mov byte [ebp - 4], 0x43
cmp byte [0x67517f], 0
mov ecx, dword [str.EB_Z_HO]
mov esi, dword [0x67517c]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], esi
je 0x48beb0
xor edx, edx
cmp dword [0x6d3fec], 2
mov dword [ebp - 0x8c], edx
jl 0x48be80
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 - 0x9c], 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, esi
pxor xmm1, xmm0
movd dword [ebp - 0x98], xmm1
jmp 0x48beb0
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x8c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x9c], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 8
jl 0x48be80
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xc4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48bee0
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0xd4]
call fcn.0049ac20
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0xd4]
cmp dword [ebp - 0xc0], 0x10
lea ecx, [ebp - 0x58]
cmovae eax, dword [ebp - 0xd4]
push eax
call fcn.0049c240
mov ecx, eax
cmp byte [ecx], 4
jne 0x48c38c
mov al, byte [ecx + 8]
mov byte [ebp - 4], 0x43
mov edx, dword [ebp - 0xc0]
mov byte [ebp - 0xad], al
cmp edx, 0x10
jb 0x48bf75
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48bf65
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48c1b8
push edx
push ecx
call fcn.005f7cf7
mov al, byte [ebp - 0xad]
add esp, 8
test al, al
je 0x48c1ea
mov eax, dword [str._YV:]
xor edx, edx
mov dword [ebp - 0x94], eax
mov al, byte [0x676a58]
mov byte [ebp - 0x90], al
mov dword [ebp - 0x8c], edx
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mul edx
shr edx, 5
movsx eax, dl
mov edx, dword [ebp - 0x8c]
mov cl, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x36
xor byte [ebp + edx - 0x94], cl
inc edx
mov dword [ebp - 0x8c], edx
cmp edx, 5
jl 0x48bfa0
lea ecx, [ebp - 0x94]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xc4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48c000
sub ecx, edx
lea eax, [ebp - 0x94]
push ecx
push eax
lea ecx, [ebp - 0xd4]
call fcn.0049ac20
mov byte [ebp - 4], 0x47
lea eax, [ebp - 0xd4]
cmp dword [ebp - 0xc0], 0x10
lea ecx, [ebp - 0x58]
cmovae eax, dword [ebp - 0xd4]
sub esp, 0x10
mov esi, esp
push eax
call fcn.0049c240
push eax
mov ecx, esi
call fcn.00498130
mov esi, dword [ebp - 0xb4]
mov ecx, esi
call fcn.0048e890
mov edx, dword [ebp - 0xc0]
cmp edx, 0x10
jb 0x48c091
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48c087
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48c1b8
push edx
push ecx
call fcn.005f7cf7
add esp, 8
lea ecx, [ebp - 0x58]
mov dword [esi + 0xe4], 0x139c
call fcn.00498110
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x48c0d7
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48c0cd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48c1b8
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp edx, 0x10
jb 0x48c11d
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48c113
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48c1b8
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov edx, dword [ebp - 0x74]
cmp edx, 0x10
jb 0x48c150
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48c146
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48c1b8
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x48c180
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48c176
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48c1b8
push edx
push ecx
call fcn.005f7cf7
add esp, 8
mov edx, dword [ebx + 0x1c]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x48c1c8
mov ecx, dword [ebx + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48c1be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x48c1be
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 al, 1
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 0x18
mov esi, dword [ebp - 0xb4]
lea eax, [ebp - 0x9c]
push eax
mov dword [esi + 0xe4], 0x1388
call fcn.0048a670
mov edi, eax
cmp byte [edi + 7], 0
je 0x48c35c
xor ecx, ecx
cmp dword [0x6d3fec], 2
mov dword [ebp - 0xb4], ecx
jl 0x48c330
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 0x48c35c
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 - 0xb4]
inc ecx
mov dword [ebp - 0xb4], ecx
cmp ecx, 8
jl 0x48c330
push edi
lea ecx, [ebp - 0x204]
call fcn.00499510
mov ecx, eax
mov byte [ebp - 4], 0x48
call fcn.00499360
push eax
lea ecx, [ebp - 0x58]
call fcn.0049c240
sub esp, 0x18
mov ecx, eax
push esp
call fcn.0049c380
call fcn.0048df40
call fcn.0049a890
push eax
lea ecx, [ebp - 0x204]
call fcn.00499510
push eax
lea eax, [ebp - 0x340]
mov byte [ebp - 4], 0x45
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], 0x46
lea ecx, [ebp - 0x328]
call fcn.00485ee0
add esp, 4
lea eax, [ebp - 0x328]
push 0x67f2b0
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3