Function at 0x4ec740
Capabilities:
Encode data using xor
Encrypt data using speck

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 0x56062d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x80
push esi
push edi
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x6bb530]
mov dword [eax + 0x20], 0
call fcn.004e5020
call fcn.004ea160
cmp dword [0x6bb5a4], 0xf
mov ecx, 0x6bb590
push 0x80e2
cmova ecx, dword [0x6bb590]
xor edx, edx
call fcn.00522d90
mov eax, dword [0x6ba4fc]
add esp, 4
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x88], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ec7dc
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ec7e9
inc eax
lea ecx, [ebp - 0x88]
push eax
call fcn.004fac70
add eax, esi
mov dword [ebp - 0x80], 0x17
xor edx, edx
mov ecx, 0x7e
div ecx
mov dword [ebp - 0x88], ecx
xorps xmm0, xmm0
inc dl
movsx si, dl
movups xmmword [ebp - 0x2c], xmm0
movzx edx, si
mov eax, esi
xor eax, 0x47
mov word [ebp - 0x78], si
mov word [ebp - 0x76], ax
mov eax, edx
xor eax, 0x47
mov word [ebp - 0x74], ax
mov eax, esi
xor eax, 0x53
mov word [ebp - 0x72], ax
mov eax, esi
xor eax, 0x54
mov word [ebp - 0x70], ax
mov eax, esi
xor eax, 0x2d
mov word [ebp - 0x6e], ax
mov eax, esi
xor eax, 0x57
mov word [ebp - 0x6c], ax
mov eax, edx
xor eax, 0x69
movzx ecx, ax
mov eax, esi
xor eax, 0x69
mov word [ebp - 0x5c], cx
mov word [ebp - 0x6a], ax
mov eax, esi
xor eax, 0x6e
mov word [ebp - 0x56], cx
mov word [ebp - 0x68], ax
mov eax, esi
xor eax, 0x36
mov word [ebp - 0x66], ax
mov eax, esi
xor eax, 0x34
mov word [ebp - 0x64], ax
mov eax, edx
xor eax, 0x2d
mov word [ebp - 0x62], ax
mov eax, edx
xor eax, 0x53
mov word [ebp - 0x60], ax
mov eax, esi
xor eax, 0x68
mov word [ebp - 0x5e], ax
mov eax, esi
xor eax, 0x70
mov word [ebp - 0x5a], ax
mov eax, edx
xor eax, 0x70
mov word [ebp - 0x58], ax
mov eax, edx
xor eax, 0x6e
xor edx, 0x65
mov word [ebp - 0x54], ax
mov eax, esi
xor eax, 0x67
mov word [ebp - 0x4a], dx
mov word [ebp - 0x52], ax
mov eax, esi
xor eax, 0x2e
mov word [ebp - 0x50], ax
mov eax, esi
xor eax, 0x65
mov word [ebp - 0x4e], ax
mov eax, esi
xor eax, 0x78
mov word [ebp - 0x4c], ax
xor eax, eax
mov word [ebp - 0x48], ax
lea edx, [ebp - 0x80]
call fcn.004fac10
mov ecx, dword [ebp - 0x80]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
xor edx, edx
mov dword [ebp - 0x1c], 0x17
mov dword [ebp - 0x18], ecx
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
movq qword [eax + 0x20], xmm0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
nop dword [eax]
mov ax, word [ebp + edx - 0x76]
xor ax, si
cmp dword [ebp - 0x18], 7
movzx ecx, ax
lea eax, [ebp - 0x2c]
cmova eax, dword [ebp - 0x2c]
mov word [eax + edx], cx
add edx, 2
cmp edx, 0x2e
jb 0x4ec920
cmp dword [ebp - 0x18], 7
lea ecx, [ebp - 0x2c]
cmova ecx, dword [ebp - 0x2c]
call fcn.00502e70
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 0x11], al
cmp ecx, 7
jbe 0x4ec994
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4ec987
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ec987
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
mov al, byte [ebp - 0x11]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], cx
test al, al
je 0x4ee36c
mov ecx, dword [0x6bb530]
xor edx, edx
push str.Background
mov eax, dword [ecx + 0x3e48]
movss xmm0, dword [eax + 0x14]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [eax + 0x18]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
movss dword [ebp - 0x8c], xmm0
mov eax, dword [eax + 0x264]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 0x47c4]
mov ecx, dword [eax]
call fcn.0051d420
mov eax, dword [0x6bb530]
add esp, 4
mov edx, 1
mov eax, dword [eax + 0x47c4]
push str.Foreground
mov ecx, dword [eax]
call fcn.0051d420
movss xmm2, dword [ebp - 0x80]
lea ecx, [ebp - 0x24]
movss xmm1, dword [ebp - 0x8c]
movaps xmm0, xmm2
xorps xmm3, xmm3
add esp, 4
addss xmm0, xmm3
movss dword [ebp - 0x50], xmm0
movaps xmm0, xmm1
addss xmm0, xmm3
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [0x58a99c]
addss xmm2, xmm0
addss xmm1, xmm0
movaps xmm0, xmmword [0x58ab00]
movups xmmword [ebp - 0x24], xmm0
movss dword [ebp - 0x84], xmm2
movss dword [ebp - 0x80], xmm1
call fcn.00518ea0
movaps xmm0, xmmword [0x58ab20]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x8c], eax
movups xmmword [ebp - 0x24], xmm0
call fcn.00518ea0
movaps xmm0, xmmword [0x58ab30]
lea ecx, [ebp - 0x24]
mov edi, eax
movups xmmword [ebp - 0x24], xmm0
call fcn.00518ea0
movaps xmm0, xmmword [0x58ab00]
lea ecx, [ebp - 0x24]
mov esi, eax
movups xmmword [ebp - 0x24], xmm0
call fcn.00518ea0
push dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x38]
push edi
push esi
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0053ba90
call fcn.004e0140
mov esi, dword [0x6bb530]
lea eax, [ebp - 0x54]
push eax
mov dword [ebp - 0x54], 0
movss xmm0, dword [esi + 0x3788]
lea ecx, [esi + 0x4764]
movss dword [ebp - 0x50], xmm0
call fcn.0052fb30
push 0
mov dword [esi + 0x3788], 0x3f666666
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x43eb0000
mov dword [ebp - 0x4c], 0x43c80000
push ecx
push eax
mov edx, 1
xor ecx, ecx
call fcn.005202c0
add esp, 0xc
test al, al
je 0x4eceb4
mov ecx, dword [0x6bb530]
mov dword [ebp - 0x50], 0x428c0000
mov dword [ebp - 0x4c], 0x420c0000
mov dword [ebp - 0x38], 0x6bc8f8
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0x78]
mov byte [eax + 0x131], 1
addss xmm0, dword [0x58a940]
movss dword [eax + 0xf0], xmm0
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
cmp eax, 0xffffffff
jne 0x4ecba7
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ecbb1
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
mov edi, dword [ebp - 0x88]
add eax, esi
xor edx, edx
mov byte [ebp - 0x34], 0
div edi
mov byte [0x6bc6a3], 0
inc dl
mov cl, dl
mov ch, dl
xor cl, 0xef
mov al, dl
xor al, cl
mov ah, dl
xor ch, 0x92
mov byte [0x6bc6a0], al
mov al, dl
xor ah, 0x8e
xor dl, ch
xor al, ah
mov byte [0x6bc6a2], dl
lea edx, [ebp - 0x50]
push ecx
mov ecx, 0x6bc6a0
mov byte [0x6bc6a1], al
call fcn.00546720
add esp, 4
test al, al
je 0x4ecc12
mov dword [0x5920c8], 1
movss xmm1, dword [0x58a9e8]
xorps xmm0, xmm0
call fcn.005286c0
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x50], 0x428c0000
mov dword [ebp - 0x4c], 0x420c0000
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ecc55
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ecc5f
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x34], 0
xor edx, edx
mov byte [0x6bdcb3], 0
div edi
inc dl
mov cl, dl
mov ch, dl
xor cl, 0xef
mov al, dl
xor al, cl
mov ah, dl
xor ch, 0x84
mov byte [0x6bdcb0], al
mov al, dl
xor ah, 0x95
xor dl, ch
xor al, ah
mov byte [0x6bdcb2], dl
lea edx, [ebp - 0x50]
push ecx
mov ecx, 0x6bdcb0
mov byte [0x6bdcb1], al
call fcn.00546720
add esp, 4
test al, al
je 0x4eccba
mov dword [0x5920c8], 2
movss xmm1, dword [0x58a9e8]
xorps xmm0, xmm0
call fcn.005286c0
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x50], 0x428c0000
mov dword [ebp - 0x4c], 0x420c0000
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4eccfd
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ecd07
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x34], 0
xor edx, edx
mov byte [0x6bc60b], 0
div edi
inc dl
mov cl, dl
mov ch, dl
xor cl, 0xef
mov al, dl
xor al, cl
mov ah, dl
xor ch, 0x89
mov byte [0x6bc608], al
mov al, dl
xor ah, 0x9c
xor dl, ch
xor al, ah
mov byte [0x6bc60a], dl
lea edx, [ebp - 0x50]
push ecx
mov ecx, 0x6bc608
mov byte [0x6bc609], al
call fcn.00546720
add esp, 4
test al, al
je 0x4ecd62
mov dword [0x5920c8], 3
movss xmm1, dword [0x58a9e8]
xorps xmm0, xmm0
call fcn.005286c0
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x50], 0x428c0000
mov dword [ebp - 0x4c], 0x420c0000
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ecda5
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ecdaf
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x34], 0
xor edx, edx
mov byte [0x6bc8bb], 0
div edi
inc dl
mov cl, dl
mov ch, dl
xor cl, 0xef
mov al, dl
xor al, cl
mov ah, dl
xor ch, 0x9b
mov byte [0x6bc8b8], al
mov al, dl
xor ah, 0x84
xor dl, ch
xor al, ah
mov byte [0x6bc8ba], dl
lea edx, [ebp - 0x50]
push ecx
mov ecx, 0x6bc8b8
mov byte [0x6bc8b9], al
call fcn.00546720
add esp, 4
test al, al
je 0x4ece0a
mov dword [0x5920c8], 4
movss xmm1, dword [0x58a9e8]
xorps xmm0, xmm0
call fcn.005286c0
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x50], 0x428c0000
mov dword [ebp - 0x4c], 0x420c0000
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ece4d
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ece57
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x34], 0
xor edx, edx
mov byte [0x6bdd33], 0
div edi
inc dl
mov cl, dl
mov ch, dl
xor cl, 0xef
mov al, dl
xor al, cl
mov ah, dl
xor ch, 0x93
mov byte [0x6bdd30], al
mov al, dl
xor ah, 0x80
xor dl, ch
xor al, ah
mov byte [0x6bdd32], dl
lea edx, [ebp - 0x50]
push ecx
mov ecx, 0x6bdd30
mov byte [0x6bdd31], al
call fcn.00546720
add esp, 4
test al, al
je 0x4eceba
mov dword [0x5920c8], 5
jmp 0x4eceba
mov edi, dword [ebp - 0x88]
call fcn.00520540
push 0
push ecx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x43eb0000
push eax
mov edx, 1
mov dword [ebp - 0x4c], 0x43c80000
xor ecx, ecx
call fcn.005202c0
add esp, 0xc
test al, al
je 0x4ee354
mov ecx, dword [0x6bb530]
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
movss xmm0, dword [ecx + 0x37f4]
addss xmm0, dword [eax + 0x134]
movss dword [eax + 0x134], xmm0
addss xmm0, dword [eax + 0x14]
addss xmm0, dword [eax + 0x138]
movss dword [eax + 0xf0], xmm0
mov eax, dword [0x5920c8]
cmp eax, 1
jne 0x4ecf45
call fcn.004fef00
jmp 0x4ee1cb
cmp eax, 2
jne 0x4ed8e4
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ecf73
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ecf7d
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov dword [ebp - 0x1c], 3
xor edx, edx
mov byte [ebp - 0x34], 0
div edi
xorps xmm0, xmm0
mov esi, 0xf
mov dh, dl
mov dword [ebp - 0x18], esi
inc dh
mov al, dh
mov cl, dh
xor al, 0x42
mov ch, dh
mov dword [ebp - 0x38], eax
xor ch, 0x4f
xor eax, eax
mov dl, dh
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x2c], eax
xor dl, 0x54
mov eax, dword [ebp - 0x38]
xor cl, al
lea eax, [ebp - 0x2c]
mov byte [eax], cl
mov cl, dh
xor cl, ch
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
xor dh, dl
mov byte [eax + 1], cl
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 2], dh
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova ecx, dword [ebp - 0x2c]
call fcn.00548880
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, esi
jbe 0x4ed032
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4ed028
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ed028
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ed057
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ed061
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x47], 0
xor edx, edx
lea ecx, [ebp - 0x52]
div edi
inc dl
mov al, dl
mov byte [ebp - 0x52], dl
xor al, 0x42
mov byte [ebp - 0x51], al
mov al, dl
xor al, 0x6f
mov byte [ebp - 0x50], al
mov al, dl
xor al, 0x74
mov byte [ebp - 0x4f], al
mov al, dl
xor al, 0x20
mov byte [ebp - 0x4e], al
mov al, dl
xor al, 0x53
mov byte [ebp - 0x4d], al
mov al, dl
xor al, 0x63
mov byte [ebp - 0x4c], al
mov al, dl
xor al, 0x72
mov byte [ebp - 0x4b], al
mov al, dl
xor al, 0x69
mov byte [ebp - 0x4a], al
mov al, dl
xor al, 0x70
xor dl, 0x74
mov byte [ebp - 0x49], al
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 0x48], dl
call fcn.004f5450
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 0xf
jbe 0x4ed0d0
mov eax, dword [eax]
push 0x6bc830
push eax
call fcn.0055b1f0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x4ed118
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4ed10e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ed10e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
cmp byte [0x6bc830], 0
je 0x4ed8d5
push ecx
push 0x1a
push 0x6ba100
push fcn.005492d0
mov edx, 0x6bc6e4
mov ecx, 0x5662b4
call fcn.00549350
mov eax, dword [0x6ba4fc]
add esp, 0x10
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ed169
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ed173
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov dword [ebp - 0x1c], 5
xor edx, edx
mov byte [ebp - 0x34], 0
div edi
mov esi, 0xf
xorps xmm0, xmm0
mov ah, dl
mov dword [ebp - 0x18], esi
inc ah
mov cl, ah
mov byte [ebp - 0x11], ah
xor cl, 0x79
mov al, ah
xor al, 0x44
mov byte [ebp - 0x2d], cl
mov cl, ah
mov ch, ah
xor cl, al
mov dl, ah
mov dh, ah
xor ch, 0x65
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
xor dl, 0x6c
mov word [ebp - 0x28], 0
xor dh, 0x61
mov byte [eax], cl
mov cl, byte [ebp - 0x11]
xor cl, ch
cmp dword [ebp - 0x18], esi
mov ch, byte [ebp - 0x11]
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 1], cl
mov cl, ch
xor cl, dl
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 2], cl
mov cl, ch
xor cl, dh
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
xor ch, byte [ebp - 0x2d]
mov byte [eax + 3], cl
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 4], ch
push ecx
push 0x5662b8
push 0x50
push 0xa
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 2
call fcn.004f6d40
mov edx, 0x6bc808
mov ecx, eax
call fcn.0054ab50
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004f6e30
mov ecx, 0x564561
call fcn.00548880
push dword [ebp - 0x37]
push ecx
lea ecx, [ebp - 0x3a]
call fcn.004f83d0
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.004f58c0
mov dword [ebp - 4], 3
push ecx
push 0x5662c4
push 0xc
push ecx
mov ecx, eax
call fcn.004f6d40
movss xmm2, dword [0x58a87c]
mov edx, 0x6bb430
mov ecx, eax
call fcn.0054a340
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004f6e30
push dword [ebp - 0x37]
push ecx
lea ecx, [ebp - 0x4f]
call fcn.004f8450
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.004f57f0
push ecx
push 0x5662d0
push 0x37
push ecx
mov ecx, eax
mov dword [ebp - 4], 4
call fcn.004f6d40
movss xmm2, dword [0x58a87c]
mov edx, 0x6bb420
mov ecx, eax
call fcn.0054a340
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004f6e30
mov eax, dword [0x6bb430]
test eax, eax
jns 0x4ed30c
xor eax, eax
jmp 0x4ed316
mov ecx, 0xc
cmp eax, ecx
cmovg eax, ecx
mov dword [0x6bb430], eax
mov eax, dword [0x6bb420]
test eax, eax
jns 0x4ed328
xor eax, eax
jmp 0x4ed332
mov ecx, 0x37
cmp eax, ecx
cmovg eax, ecx
mov esi, dword [0x6ba4f8]
mov dword [0x6bb420], eax
mov eax, dword [0x6ba4fc]
sub eax, esi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ed36a
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ed374
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x34], 0
xor edx, edx
lea ecx, [ebp - 0x3d]
div edi
inc dl
mov al, dl
mov byte [ebp - 0x3d], dl
xor al, 0x52
mov byte [ebp - 0x3c], al
mov al, dl
xor al, 0x75
mov byte [ebp - 0x3b], al
mov al, dl
xor al, 0x6e
mov byte [ebp - 0x3a], al
mov al, dl
xor al, 0x20
mov byte [ebp - 0x39], al
mov al, dl
xor al, 0x54
mov byte [ebp - 0x38], al
mov al, dl
xor al, 0x69
mov byte [ebp - 0x37], al
mov al, dl
xor al, 0x6d
xor dl, 0x65
mov byte [ebp - 0x36], al
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 0x35], dl
call fcn.004f5700
mov dword [ebp - 4], 5
cmp dword [eax + 0x14], 0xf
jbe 0x4ed3d5
mov eax, dword [eax]
push ecx
lea edx, [ebp - 0x50]
mov ecx, eax
call fcn.00546720
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 0x2d], al
cmp ecx, 0xf
jbe 0x4ed426
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4ed419
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ed419
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
mov al, byte [ebp - 0x2d]
add esp, 8
test al, al
je 0x4ed46e
mov ecx, dword [0x6bb430]
mov eax, dword [0x6bb420]
shl ecx, 4
sub ecx, dword [0x6bb430]
lea eax, [eax + ecx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 2
test ecx, ecx
jle 0x4ed46e
lea ecx, [ebp - 0x50]
mov byte [0x6bb318], 1
call fcn.004df5b0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x6bb488], ecx
mov dword [0x6bb48c], eax
movss xmm1, dword [0x58a9e8]
xorps xmm0, xmm0
call fcn.005286c0
cmp byte [0x6bb318], 0
je 0x4ed61c
push dword [ebp - 0x37]
mov dword [ebp - 0x50], 0
push ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x4c], 0
call fcn.004f8570
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.004f56a0
mov ecx, eax
mov dword [ebp - 4], 6
call fcn.004f6d40
lea edx, [ebp - 0x50]
mov ecx, eax
call fcn.005469f0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x2d], al
mov dword [ebp - 4], 0xffffffff
call fcn.004f6e30
cmp byte [ebp - 0x2d], 0
je 0x4ed4ec
mov byte [0x6bb318], 0
jmp 0x4ed61c
cmp byte [0x6bb318], 0
je 0x4ed61c
lea ecx, [ebp - 0x50]
call fcn.004df5b0
mov ecx, dword [0x6bb430]
mov eax, dword [0x6bb420]
shl ecx, 4
sub ecx, dword [0x6bb430]
push 0
push 0x3b9aca00
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x50]
mov esi, eax
shl esi, 4
sub esi, eax
mov eax, dword [ebp - 0x4c]
shl esi, 2
sub ecx, dword [0x6bb488]
sbb eax, dword [0x6bb48c]
push eax
push ecx
call fcn.0055fc90
push dword [ebp - 0x37]
sub esi, eax
mov dword [ebp - 0x80], esi
test esi, esi
jg 0x4ed584
push ecx
lea ecx, [ebp - 0x78]
mov byte [0x6bb318], 0
call fcn.004f9490
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.004f5610
mov ecx, eax
call fcn.004f6d20
mov ecx, eax
call fcn.004e94a0
lea ecx, [ebp - 0x2c]
call fcn.004f74e0
jmp 0x4ed61c
mov eax, 0x91a2b3c5
mov ecx, esi
imul esi
add edx, esi
sar edx, 0xb
mov edi, edx
shr edi, 0x1f
add edi, edx
imul eax, edi, 0xe10
sub ecx, eax
mov eax, 0x88888889
imul ecx
mov eax, 0x88888889
add edx, ecx
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
imul dword [ebp - 0x80]
add edx, dword [ebp - 0x80]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
shl eax, 4
sub eax, ecx
shl eax, 2
sub dword [ebp - 0x80], eax
push ecx
lea ecx, [ebp - 0x6f]
call fcn.004f86f0
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.004f5570
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x80]
push ecx
push esi
push edi
mov ecx, eax
call fcn.004f6d40
push eax
call fcn.00545d90
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004f6e30
mov edi, dword [ebp - 0x88]
call fcn.00525ad0
mov ecx, 0x564562
call fcn.00548880
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ed650
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ed65a
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x47], 0
xor edx, edx
mov dword [ebp - 0x1c], 0xb
div edi
xorps xmm0, xmm0
mov esi, 0xf
mov ch, dl
mov dword [ebp - 0x18], esi
inc ch
mov al, ch
mov byte [ebp - 0x53], ch
xor al, 0x52
mov byte [ebp - 0x52], al
mov al, ch
xor al, 0x75
mov byte [ebp - 0x51], al
mov al, ch
xor al, 0x6e
mov byte [ebp - 0x50], al
mov al, ch
xor al, 0x20
mov byte [ebp - 0x4f], al
mov al, ch
xor al, 0x53
mov byte [ebp - 0x4e], al
mov al, ch
xor al, 0x63
mov byte [ebp - 0x4d], al
mov al, ch
xor al, 0x72
mov byte [ebp - 0x4c], al
mov al, ch
xor al, 0x69
mov byte [ebp - 0x4b], al
mov al, ch
xor al, 0x70
mov byte [ebp - 0x4a], al
mov al, ch
xor al, 0x74
mov byte [ebp - 0x49], al
mov al, ch
xor al, 0x20
xor edx, edx
movups xmmword [ebp - 0x2c], xmm0
mov byte [ebp - 0x48], al
movq qword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], 0
nop dword [eax]
mov cl, byte [ebp + edx - 0x52]
lea eax, [ebp - 0x2c]
xor cl, ch
cmp esi, 0xf
cmova eax, dword [ebp - 0x2c]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xb
jae 0x4ed6fe
mov esi, dword [ebp - 0x18]
jmp 0x4ed6e0
mov dword [ebp - 4], 8
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
push 0x6bdd78
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.0055b1f0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x4ed758
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4ed74e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ed74e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
cmp byte [0x6bdd78], 0
je 0x4ed768
mov byte [0x6bdcdc], 0
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ed78d
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ed797
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov dword [ebp - 0x1c], 7
xor edx, edx
mov byte [ebp - 0x47], 0
div edi
mov esi, 0xf
xorps xmm0, xmm0
mov ah, dl
mov dword [ebp - 0x18], esi
inc ah
mov cl, ah
mov byte [ebp - 0x11], ah
xor cl, 0x42
mov dl, ah
mov byte [ebp - 0x2d], cl
mov dh, ah
mov cl, ah
mov al, ah
xor cl, 0x6f
xor al, 0x52
mov byte [ebp - 0x79], cl
mov ch, ah
mov cl, ah
xor dl, 0x6e
xor cl, 0x74
xor dh, 0x20
mov byte [ebp - 0x2e], cl
xor ch, 0x75
mov cl, ah
mov dword [ebp - 0x38], edx
xor cl, al
xor edx, edx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x2c], edx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x28], edx
mov byte [eax], cl
mov cl, byte [ebp - 0x11]
mov edx, dword [ebp - 0x38]
xor cl, ch
cmp dword [ebp - 0x18], esi
mov ch, byte [ebp - 0x11]
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 1], cl
mov cl, ch
xor cl, dl
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 2], cl
mov cl, ch
xor cl, dh
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 3], cl
mov cl, ch
xor cl, byte [ebp - 0x2d]
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 4], cl
mov cl, ch
xor cl, byte [ebp - 0x79]
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
xor ch, byte [ebp - 0x2e]
mov byte [eax + 5], cl
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 6], ch
mov dword [ebp - 4], 9
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
push 0x6bdcdc
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.0055b1f0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, esi
jbe 0x4ed8c0
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4ed8b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ed8b6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
cmp byte [0x6bdcdc], 0
je 0x4ed8d0
mov byte [0x6bdd78], 0
call fcn.00525b60
mov ecx, 0x564563
call fcn.00548880
jmp 0x4ee1cb
cmp eax, 3
jne 0x4ee1b5
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ed912
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ed91c
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov dword [ebp - 0x1c], 4
xor edx, edx
mov byte [ebp - 0x34], 0
div edi
mov edi, 0xf
xor esi, esi
mov cl, dl
mov dword [ebp - 0x18], edi
inc cl
xorps xmm0, xmm0
mov al, cl
mov byte [ebp - 0x11], cl
xor al, 0x4d
mov ch, cl
mov dl, cl
mov dh, cl
xor cl, al
xor ch, 0x69
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x28], 0
xor dl, 0x73
mov byte [eax], cl
xor dh, 0x63
mov cl, byte [ebp - 0x11]
xor cl, ch
cmp dword [ebp - 0x18], edi
mov ch, byte [ebp - 0x11]
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 1], cl
mov cl, ch
xor cl, dl
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
cmova eax, dword [ebp - 0x2c]
xor ch, dh
mov byte [eax + 2], cl
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + 3], ch
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
cmova ecx, dword [ebp - 0x2c]
call fcn.00548880
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, edi
jbe 0x4ed9ea
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4ed9e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ed9e0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
call fcn.00525ad0
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4eda14
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4eda1e
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov edi, dword [ebp - 0x88]
xor edx, edx
mov byte [ebp - 0x15], 0
div edi
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
inc dl
mov dword [ebp - 0x4c], 0
mov al, dl
mov byte [ebp - 0x2e], dl
xor al, 0x46
mov byte [ebp - 0x2b], dl
mov byte [ebp - 0x2a], al
mov cl, dl
mov al, dl
xor cl, 0x65
xor al, 0x61
mov byte [ebp - 0x18], cl
mov byte [ebp - 0x29], al
mov al, dl
xor al, 0x73
mov byte [ebp - 0x17], cl
mov byte [ebp - 0x28], al
mov al, dl
xor al, 0x74
mov byte [ebp - 0x27], al
mov al, dl
xor al, 0x65
mov byte [ebp - 0x26], al
mov al, dl
xor al, 0x72
mov byte [ebp - 0x25], al
mov al, dl
xor al, 0x20
mov byte [ebp - 0x24], al
mov al, dl
xor al, 0x4c
mov byte [ebp - 0x23], al
mov al, dl
xor al, 0x6f
mov byte [ebp - 0x22], al
mov al, dl
xor al, 0x61
mov byte [ebp - 0x21], al
mov al, dl
xor al, 0x64
mov byte [ebp - 0x20], al
mov al, dl
xor al, 0x69
mov byte [ebp - 0x1f], al
mov al, dl
xor al, 0x6e
mov byte [ebp - 0x1e], al
mov al, dl
xor al, 0x67
mov byte [ebp - 0x1d], al
mov al, dl
xor al, 0x20
mov byte [ebp - 0x1c], al
mov al, dl
xor al, 0x53
mov byte [ebp - 0x1b], al
mov al, dl
xor al, 0x63
mov byte [ebp - 0x1a], al
mov al, dl
xor al, 0x72
mov byte [ebp - 0x19], al
mov al, dl
xor al, 0x6e
push 0x20
mov byte [ebp - 0x16], al
movups xmmword [ebp - 0x60], xmm0
call fcn.0055e97b
xorps xmm0, xmm0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x50], 0x15
add esp, 4
mov dword [ebp - 0x4c], 0x1f
movups xmmword [eax], xmm0
mov ch, byte [ebp - 0x2e]
xor edx, edx
mov dword [eax + 0x10], 0
mov word [eax + 0x14], 0
nop
mov cl, byte [ebp + edx - 0x2a]
lea eax, [ebp - 0x60]
xor cl, ch
cmp dword [ebp - 0x4c], 0xf
cmova eax, dword [ebp - 0x60]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x15
jb 0x4edb10
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], 0xf
push 0x6bc6be
cmova eax, dword [ebp - 0x60]
push eax
call fcn.0055b1f0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0xf
jbe 0x4edb84
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4edb7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4edb7a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4edba9
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4edbb3
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x47], 0
xor edx, edx
mov dword [ebp - 0x1c], 0xd
div edi
xorps xmm0, xmm0
mov esi, 0xf
mov ch, dl
mov dword [ebp - 0x18], esi
inc ch
mov al, ch
mov byte [ebp - 0x55], ch
xor al, 0x48
mov byte [ebp - 0x54], al
mov al, ch
xor al, 0x69
mov byte [ebp - 0x53], al
mov al, ch
xor al, 0x74
mov byte [ebp - 0x52], al
mov al, ch
xor al, 0x62
mov byte [ebp - 0x51], al
mov al, ch
xor al, 0x6f
mov byte [ebp - 0x50], al
mov al, ch
xor al, 0x78
mov byte [ebp - 0x4f], al
mov al, ch
xor al, 0x20
mov byte [ebp - 0x4e], al
mov al, ch
xor al, 0x56
mov byte [ebp - 0x4d], al
mov al, ch
xor al, 0x69
mov byte [ebp - 0x4c], al
mov al, ch
xor al, 0x65
mov byte [ebp - 0x4b], al
mov al, ch
xor al, 0x77
mov byte [ebp - 0x4a], al
mov al, ch
xor al, 0x65
mov byte [ebp - 0x49], al
mov al, ch
xor al, 0x72
xor edx, edx
movups xmmword [ebp - 0x2c], xmm0
mov byte [ebp - 0x48], al
movq qword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], 0
mov word [ebp - 0x20], 0
nop dword [eax]
mov cl, byte [ebp + edx - 0x54]
lea eax, [ebp - 0x2c]
xor cl, ch
cmp esi, 0xf
cmova eax, dword [ebp - 0x2c]
mov byte [eax + edx], cl
inc edx
cmp edx, 0xd
jae 0x4edc6e
mov esi, dword [ebp - 0x18]
jmp 0x4edc50
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
push 0x6bc6be
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.0055b1f0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x4edcc8
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4edcbe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4edcbe
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4edced
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4edcf7
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x47], 0
xor edx, edx
mov dword [ebp - 0x1c], 0xd
div edi
xorps xmm0, xmm0
mov esi, 0xf
mov ch, dl
mov dword [ebp - 0x18], esi
inc ch
mov al, ch
mov byte [ebp - 0x55], ch
xor al, 0x52
mov byte [ebp - 0x54], al
mov al, ch
xor al, 0x65
mov byte [ebp - 0x53], al
mov al, ch
xor al, 0x63
mov byte [ebp - 0x52], al
mov al, ch
xor al, 0x6f
mov byte [ebp - 0x51], al
mov al, ch
xor al, 0x72
mov byte [ebp - 0x50], al
mov al, ch
xor al, 0x64
mov byte [ebp - 0x4f], al
mov al, ch
xor al, 0x20
mov byte [ebp - 0x4e], al
mov al, ch
xor al, 0x76
mov byte [ebp - 0x4d], al
mov al, ch
xor al, 0x73
mov byte [ebp - 0x4c], al
mov al, ch
xor al, 0x20
mov byte [ebp - 0x4b], al
mov al, ch
xor al, 0x43
mov byte [ebp - 0x4a], al
mov al, ch
xor al, 0x50
mov byte [ebp - 0x49], al
mov al, ch
xor al, 0x55
xor edx, edx
movups xmmword [ebp - 0x2c], xmm0
mov byte [ebp - 0x48], al
movq qword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], 0
mov word [ebp - 0x20], 0
nop dword [eax]
mov cl, byte [ebp + edx - 0x54]
lea eax, [ebp - 0x2c]
xor cl, ch
cmp esi, 0xf
cmova eax, dword [ebp - 0x2c]
mov byte [edx + eax], cl
inc edx
cmp edx, 0xd
jae 0x4eddae
mov esi, dword [ebp - 0x18]
jmp 0x4edd90
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
push 0x6bc6be
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.0055b1f0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x4ede08
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4eddfe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4eddfe
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ede2d
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ede37
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x47], 0
xor edx, edx
xorps xmm0, xmm0
div edi
inc dl
mov al, dl
mov byte [ebp - 0x2e], dl
xor al, 0x53
mov byte [ebp - 0x63], dl
mov byte [ebp - 0x62], al
mov ah, dl
mov al, dl
xor ah, 0x61
xor al, 0x61
mov byte [ebp - 0x54], ah
mov byte [ebp - 0x61], al
mov cl, dl
mov al, dl
mov byte [ebp - 0x4e], ah
xor al, 0x76
mov byte [ebp - 0x4c], ah
mov byte [ebp - 0x60], al
xor cl, 0x20
mov al, dl
mov byte [ebp - 0x53], cl
xor al, 0x65
mov byte [ebp - 0x50], cl
mov byte [ebp - 0x5f], al
mov al, dl
xor al, 0x20
mov byte [ebp - 0x49], cl
mov byte [ebp - 0x5e], al
mov al, dl
xor al, 0x43
mov byte [ebp - 0x5d], al
mov al, dl
xor al, 0x6f
mov byte [ebp - 0x5c], al
mov al, dl
xor al, 0x6d
mov byte [ebp - 0x5b], al
mov al, dl
xor al, 0x62
mov byte [ebp - 0x5a], al
mov al, dl
xor al, 0x6f
mov byte [ebp - 0x59], al
mov al, dl
xor al, 0x73
mov byte [ebp - 0x58], al
mov al, dl
xor al, 0x2e
mov byte [ebp - 0x57], al
mov al, dl
xor al, 0x6c
mov byte [ebp - 0x56], al
mov al, dl
xor al, 0x75
mov byte [ebp - 0x55], al
mov al, dl
xor al, 0x62
mov byte [ebp - 0x52], al
mov al, dl
xor al, 0x79
mov byte [ebp - 0x51], al
mov al, dl
xor al, 0x64
mov byte [ebp - 0x4f], al
mov al, dl
xor al, 0x6d
mov byte [ebp - 0x4d], al
mov al, dl
xor al, 0x67
mov byte [ebp - 0x4b], al
mov al, dl
xor al, 0x65
mov byte [ebp - 0x4a], al
mov al, dl
xor al, 0x3e
mov byte [ebp - 0x48], al
push 0x20
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
call fcn.0055e97b
mov ch, byte [ebp - 0x2e]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x1c], 0x1b
xor edx, edx
mov dword [ebp - 0x18], 0x1f
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], 0
nop
mov cl, byte [ebp + edx - 0x62]
lea eax, [ebp - 0x2c]
xor cl, ch
cmp dword [ebp - 0x18], 0xf
cmova eax, dword [ebp - 0x2c]
mov byte [eax + edx], cl
inc edx
cmp edx, 0x1b
jb 0x4edf40
mov dword [ebp - 4], 0xe
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
push 0x6bc6b1
cmova eax, dword [ebp - 0x2c]
push eax
call fcn.0055b1f0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x4edfb4
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4edfaa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4edfaa
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
cmp byte [0x6bc6b1], 0
je 0x4edfdc
push ecx
push 0x5663bc
push 0x1f4
push 0
mov edx, 0x6bc784
mov ecx, 0x56456a
call fcn.0054ab50
add esp, 0x10
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ee001
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ee00b
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x47], 0
xor edx, edx
div edi
inc dl
mov al, dl
mov byte [ebp - 0x52], dl
xor al, 0x43
mov cl, dl
mov byte [ebp - 0x51], al
xor cl, 0x6f
mov al, dl
mov byte [ebp - 0x4d], cl
xor al, 0x6f
mov byte [ebp - 0x4a], cl
mov byte [ebp - 0x50], al
lea ecx, [ebp - 0x52]
mov al, dl
xor al, 0x6d
mov byte [ebp - 0x4f], al
mov al, dl
xor al, 0x62
mov byte [ebp - 0x4e], al
mov al, dl
xor al, 0x20
mov byte [ebp - 0x4c], al
mov al, dl
xor al, 0x4d
mov byte [ebp - 0x4b], al
mov al, dl
xor al, 0x64
xor dl, 0x65
mov byte [ebp - 0x49], al
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 0x48], dl
call fcn.004f5450
mov dword [ebp - 4], 0xf
cmp dword [eax + 0x14], 0xf
jbe 0x4ee077
mov eax, dword [eax]
push 0x6bc6be
push eax
call fcn.0055b1f0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x4ee0bf
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4ee0b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ee0b5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ee0e4
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ee0ee
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x47], 0
xor edx, edx
lea ecx, [ebp - 0x52]
div edi
inc dl
mov al, dl
mov byte [ebp - 0x52], dl
xor al, 0x53
mov byte [ebp - 0x51], al
mov al, dl
xor al, 0x65
mov byte [ebp - 0x50], al
mov al, dl
xor al, 0x74
mov byte [ebp - 0x4f], al
mov al, dl
xor al, 0x20
mov byte [ebp - 0x4e], al
mov al, dl
xor al, 0x78
mov byte [ebp - 0x4d], al
mov al, dl
xor al, 0x49
mov byte [ebp - 0x4c], al
mov al, dl
xor al, 0x6e
mov byte [ebp - 0x4b], al
mov al, dl
xor al, 0x70
mov byte [ebp - 0x4a], al
mov al, dl
xor al, 0x75
xor dl, 0x74
mov byte [ebp - 0x49], al
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 0x48], dl
call fcn.004f5450
mov ecx, eax
mov dword [ebp - 4], 0x10
call fcn.004f6d40
push 0x6bc6be
push eax
call fcn.0055b1f0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x4ee1a4
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4ee19a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4ee19a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0055ec01
add esp, 8
call fcn.00525b60
mov ecx, 0x56456b
call fcn.00548880
jmp 0x4ee1cb
cmp eax, 4
jne 0x4ee1c1
call fcn.004fccb0
jmp 0x4ee1cb
cmp eax, 5
jne 0x4ee1cb
call fcn.004fd020
call fcn.00520540
push 0
push ecx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x43eb0000
push eax
mov edx, 3
mov dword [ebp - 0x4c], 0x42a00000
xor ecx, ecx
call fcn.005202c0
add esp, 0xc
test al, al
je 0x4ee34f
mov ecx, dword [0x6bb530]
mov eax, dword [ecx + 0x3e48]
movss xmm0, dword [eax + 0xf4]
movss xmm1, dword [eax + 0x22c]
movaps xmm2, xmm0
subss xmm2, dword [eax + 0x18]
subss xmm1, xmm0
addss xmm2, dword [eax + 0x7c]
subss xmm1, dword [0x58a944]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
mulss xmm1, dword [0x58a834]
mov byte [eax + 0x131], 1
movss xmm0, dword [eax + 0x18]
subss xmm0, dword [eax + 0x7c]
addss xmm2, xmm1
addss xmm0, xmm2
movss dword [eax + 0xf4], xmm0
call fcn.004e9550
mov ecx, dword [0x6bb530]
mov eax, dword [ecx + 0x3e48]
mov byte [eax + 0xac], 1
mov eax, dword [ecx + 0x3e48]
cmp byte [eax + 0xaf], 0
jne 0x4ee2ac
movss xmm1, dword [0x58a9e8]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
call fcn.00528330
mov eax, dword [0x6ba4fc]
mov esi, dword [0x6ba4f8]
sub eax, esi
mov dword [ebp - 0x50], 0x42200000
mov dword [ebp - 0x4c], 0x41f00000
mov dword [ebp - 0x38], 0x6bc8f8
cmp eax, 0xffffffff
jne 0x4ee2df
mov ecx, 0x6bc8f8
call fcn.004facc0
jmp 0x4ee2e9
inc eax
lea ecx, [ebp - 0x38]
push eax
call fcn.004fac70
add eax, esi
mov byte [ebp - 0x34], 0
xor edx, edx
mov byte [0x6bc5fb], 0
div edi
inc dl
mov cl, dl
mov ch, dl
xor cl, 0xef
mov al, dl
xor al, cl
mov ah, dl
xor ch, 0x91
mov byte [0x6bc5f8], al
mov al, dl
xor ah, 0x80
xor dl, ch
xor al, ah
mov byte [0x6bc5fa], dl
lea edx, [ebp - 0x50]
push ecx
mov ecx, 0x6bc5f8
mov byte [0x6bc5f9], al
call fcn.00546720
add esp, 4
test al, al
jne 0x4ee36c
movss xmm1, dword [0x58a9e8]
xorps xmm0, xmm0
call fcn.005286c0
call fcn.004e6c90
call fcn.00520540
call fcn.00525260
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004e9470
int3