Function at 0x4042d0
Capabilities:
Get session user name
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3004
call fcn.0041d300
mov eax, dword [0x42c008]
xor eax, esp
mov dword [esp + 0x3000], eax
push ebx
push esi
push edi
push 0x208
lea eax, [esp + 0x1634]
mov dword [esp + 0x14], 0
push 0
push eax
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0x28e0]
mov ecx, 0x2a
lea edi, [esp + 0x2838]
mov esi, str.SoftwareHewlett_PackardHP_OMEN_ControlProfilesCurrent_SettingsKey_Assignments_
rep movsd dword es:[edi], dword [esi]
push 0x340
push 0
push eax
call fcn.0040ce90
mov ecx, 0x18
lea edi, [esp + 0x2c2c]
mov esi, str.SoftwareHewlett_PackardHP_OMEN_ControlMacros_
lea eax, [esp + 0x2c8e]
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
movsw word es:[edi], word [esi]
push 0x386
push 0
push eax
call fcn.0040ce90
add esp, 0xc
mov dword [esp + 0x18], 0
lea eax, [esp + 0xe30]
mov dword [esp + 0x1c], 0
push 0x800
push 0
push eax
call fcn.0040ce90
add esp, 0xc
cmp dword [0x42d3bc], 0
je 0x4043bc
push str.ApplyOMENKeyAssignmentCurrentSettingsRegistryToWMI___Start
lea eax, [esp + 0xe34]
push 0x400
push eax
call fcn.00401120
add esp, 0xc
lea ecx, [esp + 0xe30]
call fcn.004035d0
call fcn.00403c20
test eax, eax
je 0x407159
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [esp + 0x18]
push eax
push 0x2001b
push 0
lea eax, [esp + 0x2844]
push eax
push 0x80000001
call esi
test eax, eax
je 0x40441d
push eax
lea eax, [esp + 0x283c]
push eax
push str.RegOpenKeyEx_fail_HKEY_CURRENT_USER_szRegPath:_s_lRegResult:_08X_n
lea eax, [esp + 0xe3c]
push 0x400
push eax
call fcn.00401120
add esp, 0x14
lea ecx, [esp + 0xe30]
call fcn.004035d0
lea eax, [esp + 0x1c]
push eax
push 0x2001b
push 0
lea eax, [esp + 0x2c2c]
push eax
push 0x80000001
call esi
mov esi, eax
test esi, esi
je 0x40446d
push esi
lea eax, [esp + 0x2c24]
push eax
push str.RegOpenKeyEx_fail_HKEY_CURRENT_USER_szMacroRegPath:_s_lRegResult:_08X_n
lea eax, [esp + 0xe3c]
push 0x400
push eax
call fcn.00401120
add esp, 0x14
lea ecx, [esp + 0xe30]
call fcn.004035d0
cmp dword [0x42d3bc], 0
je 0x4044a5
push esi
lea eax, [esp + 0x283c]
push eax
push str.RegOpenKeyEx_HKEY_CURRENT_USER_szRegPath:_s_lRegResult:_08X_n
lea eax, [esp + 0xe3c]
push 0x400
push eax
call fcn.00401120
add esp, 0x14
lea ecx, [esp + 0xe30]
call fcn.004035d0
push 0x423938
lea eax, [esp + 0x1634]
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x1634]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
jne 0x404501
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x1634]
push eax
push str.GetUserName_fail__s__GetLastError__:_08X
lea eax, [esp + 0xe3c]
push 0x400
push eax
call fcn.00401120
add esp, 0x14
jmp 0x404523
lea eax, [esp + 0x1630]
push eax
push str.GetUserName_pass__s
lea eax, [esp + 0xe38]
push 0x400
push eax
call fcn.00401120
add esp, 0x10
lea ecx, [esp + 0xe30]
call fcn.004035d0
test esi, esi
jne 0x40712d
cmp dword [0x42d3bc], esi
je 0x404565
push str.lRegResult__ERROR_SUCCESS
lea eax, [esp + 0xe34]
push 0x400
push eax
call fcn.00401120
add esp, 0xc
lea ecx, [esp + 0xe30]
call fcn.004035d0
push 0x427ba8
lea eax, [esp + 0xa2c]
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x988]
push 0xa0
push 0
push eax
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xc30]
push 0x200
push 0
push eax
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0x1838]
push 0x1000
push 0
push eax
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xe30]
test dword [0x42d3e4], 0x8000000
je 0x4045e8
push 1
mov dword [esp + 0x28], 1
push str.set_b160KeyboardBuffer_TRUE__08X
jmp 0x4045f7
push 0
mov dword [esp + 0x28], 0
push str.set_b160KeyboardBuffer_FALSE__08X
push 0x400
push eax
call fcn.004011b0
add esp, 0x10
lea ecx, [esp + 0xe30]
call fcn.004035d0
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
jne 0x404721
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x4046fa
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
push dword [esp + 0x10]
lea eax, [esp + 0xc34]
push dword [esp + 0x18]
push eax
push str.Macro_Name:_s_dwType:_d_dwSize:_d
lea eax, [esp + 0xe40]
push 0x400
push eax
call fcn.004011b0
add esp, 0x18
lea ecx, [esp + 0xe30]
call fcn.004035d0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
call edi
push dword [esp + 0x10]
lea eax, [esp + 0xc34]
push dword [esp + 0x18]
push eax
push str.Macro_Name:_s_dwType:_d_dwSize:_d
lea eax, [esp + 0xe40]
push 0x400
push eax
call fcn.004011b0
add esp, 0x18
lea ecx, [esp + 0xe30]
call fcn.004035d0
jmp 0x404721
cmp eax, 3
jne 0x404721
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
xor esi, esi
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + esi + 0x988]
mov byte [esp + esi + 0x1838], al
test al, al
je 0x404751
inc esi
cmp esi, 0xa0
jl 0x404730
mov esi, dword [esp + 0x10]
jmp 0x404755
mov dword [esp + 0x10], esi
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
movups xmmword [esp + 0x2c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x44], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x54], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x64], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x74], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push 0x427c84
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
jne 0x40485b
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x404834
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x404859
cmp eax, 3
jne 0x40485b
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x988]
mov byte [edx + ecx], al
test al, al
je 0x40488d
inc ecx
cmp ecx, 0xa0
jl 0x404870
mov ecx, dword [esp + 0x10]
jmp 0x404891
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x7c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x94], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0xa4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0xb4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0xc4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push 0x427c8c
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x404955
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x4049c9
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x4049a2
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x4049c7
cmp eax, 3
jne 0x4049c9
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [edx + ecx], al
test al, al
je 0x4049f1
inc ecx
cmp ecx, 0xa0
jl 0x4049d4
mov ecx, dword [esp + 0x10]
jmp 0x4049f5
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0xcc], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0xe4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0xf4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x104], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x114], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push 0x427c94
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x404ab6
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x404b2a
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x404b03
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x404b28
cmp eax, 3
jne 0x404b2a
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x988]
mov byte [edx + ecx], al
test al, al
je 0x404b5d
inc ecx
cmp ecx, 0xa0
jl 0x404b40
mov ecx, dword [esp + 0x10]
jmp 0x404b61
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x11c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x134], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x144], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x154], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x164], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push 0x427c9c
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x404c22
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x404c96
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x404c6f
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x404c94
cmp eax, 3
jne 0x404c96
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [edx + ecx], al
test al, al
je 0x404cbe
inc ecx
cmp ecx, 0xa0
jl 0x404ca1
mov ecx, dword [esp + 0x10]
jmp 0x404cc2
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x16c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x184], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x194], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x1a4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x1b4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push 0x427ca4
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x404d83
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x404df7
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x404dd0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x404df5
cmp eax, 3
jne 0x404df7
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [edx + ecx], al
test al, al
je 0x404e1f
inc ecx
cmp ecx, 0xa0
jl 0x404e02
mov ecx, dword [esp + 0x10]
jmp 0x404e23
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x1bc], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x1d4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x1e4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x1f4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x204], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.CtrlG1
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x404ee4
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x404f58
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x404f31
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x404f56
cmp eax, 3
jne 0x404f58
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [edx + ecx], al
test al, al
je 0x404f80
inc ecx
cmp ecx, 0xa0
jl 0x404f63
mov ecx, dword [esp + 0x10]
jmp 0x404f84
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x20c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x224], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x234], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x244], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x254], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.CtrlG2
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405045
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x4050b9
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x405092
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x4050b7
cmp eax, 3
jne 0x4050b9
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [edx + ecx], al
test al, al
je 0x4050e1
inc ecx
cmp ecx, 0xa0
jl 0x4050c4
mov ecx, dword [esp + 0x10]
jmp 0x4050e5
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x25c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x274], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x284], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x294], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x2a4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.CtrlG3
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x4051a6
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x40521a
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x4051f3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x405218
cmp eax, 3
jne 0x40521a
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x988]
mov byte [edx + ecx], al
test al, al
je 0x40524d
inc ecx
cmp ecx, 0xa0
jl 0x405230
mov ecx, dword [esp + 0x10]
jmp 0x405251
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x2ac], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x2c4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x2d4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x2e4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x2f4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.CtrlG4
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405312
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x405386
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x40535f
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x405384
cmp eax, 3
jne 0x405386
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x4053ae
inc ecx
cmp ecx, 0xa0
jl 0x405391
mov ecx, dword [esp + 0x10]
jmp 0x4053b2
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x2fc], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x314], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x324], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x334], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x344], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.CtrlG5
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405473
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x4054e7
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x4054c0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x4054e5
cmp eax, 3
jne 0x4054e7
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x40550f
inc ecx
cmp ecx, 0xa0
jl 0x4054f2
mov ecx, dword [esp + 0x10]
jmp 0x405513
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x34c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x364], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x374], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x384], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x394], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.CtrlG6
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x4055d4
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x405648
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x405621
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x405646
cmp eax, 3
jne 0x405648
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x405670
inc ecx
cmp ecx, 0xa0
jl 0x405653
mov ecx, dword [esp + 0x10]
jmp 0x405674
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x39c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x3b4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x3c4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x3d4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x3e4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.AltG1
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405735
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x4057a9
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x405782
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x4057a7
cmp eax, 3
jne 0x4057a9
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x4057d1
inc ecx
cmp ecx, 0xa0
jl 0x4057b4
mov ecx, dword [esp + 0x10]
jmp 0x4057d5
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x3ec], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x404], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x414], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x424], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x434], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.AltG2
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405896
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x40590a
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x4058e3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x405908
cmp eax, 3
jne 0x40590a
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x40593d
inc ecx
cmp ecx, 0xa0
jl 0x405920
mov ecx, dword [esp + 0x10]
jmp 0x405941
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x43c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x454], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x464], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x474], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x484], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.AltG3
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405a02
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x405a76
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x405a4f
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x405a74
cmp eax, 3
jne 0x405a76
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x405a9e
inc ecx
cmp ecx, 0xa0
jl 0x405a81
mov ecx, dword [esp + 0x10]
jmp 0x405aa2
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x48c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x4a4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x4b4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x4c4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x4d4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.AltG4
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405b63
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x405bd7
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x405bb0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x405bd5
cmp eax, 3
jne 0x405bd7
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x405bff
inc ecx
cmp ecx, 0xa0
jl 0x405be2
mov ecx, dword [esp + 0x10]
jmp 0x405c03
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x4dc], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x4f4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x504], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x514], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x524], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.AltG5
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405cc4
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x405d38
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x405d11
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x405d36
cmp eax, 3
jne 0x405d38
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x405d60
inc ecx
cmp ecx, 0xa0
jl 0x405d43
mov ecx, dword [esp + 0x10]
jmp 0x405d64
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x52c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x544], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x554], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x564], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x574], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.AltG6
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405e25
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x405e99
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x405e72
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x405e97
cmp eax, 3
jne 0x405e99
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x405ec1
inc ecx
cmp ecx, 0xa0
jl 0x405ea4
mov ecx, dword [esp + 0x10]
jmp 0x405ec5
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x57c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x594], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x5a4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x5b4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x5c4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.ShiftG1
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x405f86
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x405ffa
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x405fd3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x405ff8
cmp eax, 3
jne 0x405ffa
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x40602d
inc ecx
cmp ecx, 0xa0
jl 0x406010
mov ecx, dword [esp + 0x10]
jmp 0x406031
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x5cc], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x5e4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x5f4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x604], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x614], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.ShiftG2
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x4060f2
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x406166
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x40613f
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x406164
cmp eax, 3
jne 0x406166
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x40618e
inc ecx
cmp ecx, 0xa0
jl 0x406171
mov ecx, dword [esp + 0x10]
jmp 0x406192
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x61c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x634], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x644], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x654], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x664], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.ShiftG3
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x406253
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x4062c7
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x4062a0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x4062c5
cmp eax, 3
jne 0x4062c7
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x4062ef
inc ecx
cmp ecx, 0xa0
jl 0x4062d2
mov ecx, dword [esp + 0x10]
jmp 0x4062f3
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x66c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x684], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x694], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x6a4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x6b4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.ShiftG4
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x4063b4
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x406428
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x406401
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x406426
cmp eax, 3
jne 0x406428
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x406450
inc ecx
cmp ecx, 0xa0
jl 0x406433
mov ecx, dword [esp + 0x10]
jmp 0x406454
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x6bc], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x6d4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x6e4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x6f4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x704], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.ShiftG5
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x406515
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x406589
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x406562
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x406587
cmp eax, 3
jne 0x406589
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x4065b1
inc ecx
cmp ecx, 0xa0
jl 0x406594
mov ecx, dword [esp + 0x10]
jmp 0x4065b5
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x70c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x724], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x734], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x744], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x754], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.ShiftG6
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x406676
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x4066ea
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x4066c3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x4066e8
cmp eax, 3
jne 0x4066ea
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x40671d
inc ecx
cmp ecx, 0xa0
jl 0x406700
mov ecx, dword [esp + 0x10]
jmp 0x406721
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x75c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x774], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x784], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x794], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x7a4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.FnG1
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x4067e2
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x406856
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x40682f
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x406854
cmp eax, 3
jne 0x406856
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x40687e
inc ecx
cmp ecx, 0xa0
jl 0x406861
mov ecx, dword [esp + 0x10]
jmp 0x406882
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x7ac], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x7c4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x7d4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x7e4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x7f4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.FnG2
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x406943
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x4069b7
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x406990
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x4069b5
cmp eax, 3
jne 0x4069b7
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x4069df
inc ecx
cmp ecx, 0xa0
jl 0x4069c2
mov ecx, dword [esp + 0x10]
jmp 0x4069e3
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x7fc], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x814], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x824], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x834], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x844], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.FnG3
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x406aa4
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x406b18
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x406af1
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x406b16
cmp eax, 3
jne 0x406b18
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x406b40
inc ecx
cmp ecx, 0xa0
jl 0x406b23
mov ecx, dword [esp + 0x10]
jmp 0x406b44
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x84c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x864], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x874], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x884], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x894], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.FnG4
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x406c05
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x406c79
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x406c52
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x406c77
cmp eax, 3
jne 0x406c79
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x406ca1
inc ecx
cmp ecx, 0xa0
jl 0x406c84
mov ecx, dword [esp + 0x10]
jmp 0x406ca5
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x89c], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x8b4], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x8c4], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x8d4], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x8e4], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.FnG5
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x406d66
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x406dda
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x406db3
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x406dd8
cmp eax, 3
jne 0x406dda
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
nop word [eax + eax]
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x406e0d
inc ecx
cmp ecx, 0xa0
jl 0x406df0
mov ecx, dword [esp + 0x10]
jmp 0x406e11
mov dword [esp + 0x10], ecx
movups xmm0, xmmword [esp + 0x988]
push 0xa0
lea eax, [esp + 0x98c]
add esi, ecx
movups xmmword [esp + 0x8ec], xmm0
push 0
movups xmm0, xmmword [esp + 0x9a0]
push eax
movups xmmword [esp + 0x904], xmm0
movups xmm0, xmmword [esp + 0x9b4]
movups xmmword [esp + 0x914], xmm0
movups xmm0, xmmword [esp + 0x9c4]
movups xmmword [esp + 0x924], xmm0
movups xmm0, xmmword [esp + 0x9d4]
movups xmmword [esp + 0x934], xmm0
call fcn.0040ce90
add esp, 0xc
lea eax, [esp + 0xa28]
push str.FnG6
push 0x104
push eax
call fcn.00401120
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
mov dword [esp + 0x20], eax
test eax, eax
je 0x406ed6
push 0x50
lea eax, [esp + 0x98c]
push eax
push 3
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x406f4a
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x406f23
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xc34]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xc40]
push eax
push dword [esp + 0x30]
jmp 0x406f48
cmp eax, 3
jne 0x406f4e
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x98c]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
mov dword [esp + 0x20], eax
lea edx, [esp + 0x1838]
xor ecx, ecx
add edx, esi
nop dword [eax]
mov al, byte [esp + ecx + 0x988]
mov byte [ecx + edx], al
test al, al
je 0x406f79
inc ecx
cmp ecx, 0xa0
jl 0x406f60
jmp 0x406f7d
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x24], 0
lea eax, [esp + 0xe30]
movups xmm0, xmmword [esp + 0x988]
push dword [esp + 0x20]
movups xmmword [esp + 0x93c], xmm0
movups xmm0, xmmword [esp + 0x99c]
movups xmmword [esp + 0x94c], xmm0
movups xmm0, xmmword [esp + 0x9ac]
movups xmmword [esp + 0x95c], xmm0
movups xmm0, xmmword [esp + 0x9bc]
movups xmmword [esp + 0x96c], xmm0
movups xmm0, xmmword [esp + 0x9cc]
movups xmmword [esp + 0x97c], xmm0
je 0x4070bc
push str.Apply_Omen_1.1_160_byte_Macro
push 0x400
push eax
call fcn.00401120
lea ecx, [esp + 0xe40]
call fcn.004035d0
lea ecx, [esp + 0x1848]
call fcn.00408db0
push str.MacroRepeat
lea eax, [esp + 0xa3c]
mov dword [esp + 0x34], 0x2000000
push 0x104
push eax
call fcn.00401120
add esp, 0x1c
lea eax, [esp + 0x10]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x407068
push 4
lea eax, [esp + 0x24]
push eax
push 4
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call ebx
jmp 0x407087
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0xa38]
push eax
push dword [esp + 0x2c]
call edi
push dword [esp + 0x20]
lea eax, [esp + 0xe34]
push str.Apply_Macro_Repeat__08X
push 0x400
push eax
call fcn.00401120
add esp, 0x10
lea ecx, [esp + 0xe30]
call fcn.004035d0
mov ecx, dword [esp + 0x20]
call fcn.00409010
jmp 0x4070e4
push str.Apply_Omen_1.0_80_byte_Macro
push 0x400
push eax
call fcn.00401120
add esp, 0x10
lea ecx, [esp + 0xe30]
call fcn.004035d0
lea ecx, [esp + 0x28]
call fcn.00408db0
push 0x1000
lea eax, [esp + 0x183c]
push eax
push 3
push 0
push str.MacroKey160ApplyVal
push dword [esp + 0x2c]
call ebx
push 0x1000
lea eax, [esp + 0x2c]
push eax
push 3
push 0
push str.OmenKeyData
push dword [esp + 0x2c]
call ebx
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x18], 0
jmp 0x407154
push esi
push str.RegOpenKeyEx_fail_lRegResult:_08X
lea eax, [esp + 0xe38]
push 0x400
push eax
call fcn.00401120
add esp, 0x10
lea ecx, [esp + 0xe30]
call fcn.004035d0
call fcn.004040b0
cmp dword [0x42d3bc], 0
je 0x407190
lea eax, [esp + 0x1630]
push eax
push str.ApplyOMENKeyAssignmentCurrentSettingsRegistryToWMI_return___end
lea eax, [esp + 0xe38]
push 0x400
push eax
call fcn.00401120
add esp, 0x10
lea ecx, [esp + 0xe30]
call fcn.004035d0
mov ecx, dword [esp + 0x300c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040aea4
mov esp, ebp
pop ebp
ret