Function at 0x598950
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7a6c65
mov eax, dword fs:[0]
push eax
sub esp, 0x394
mov eax, dword [0x831184]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x258], ecx
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x44], eax
movq qword [ebp - 0x50], xmm0
mov dword [ebp - 0x1d0], eax
mov byte [ecx + 4], al
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], eax
xor ecx, ecx
mov eax, 4
mov dword [ebp - 0x20c], 0xde00c1
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x208], 0xdc00df
mov dword [ebp - 0x204], 0xad
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x20c], ax
inc ecx
mov eax, dword [ebp - 0x210]
cmp ecx, eax
jb 0x5989d0
xor ecx, ecx
mov dword [ebp - 0x14], 7
mov word [ebp + eax*2 - 0x20c], cx
xor eax, eax
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x20c]
mov word [ebp - 0x28], ax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x598a10
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.004044f0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x48], eax
je 0x598a6d
movups xmm0, xmmword [ebp - 0x28]
mov dword [eax + 0x10], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x18]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [ebp - 0x4c], 0x18
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
jmp 0x598a7a
lea ecx, [ebp - 0x28]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.004081e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00404490
mov dword [ebp - 0x210], 5
xor ecx, ecx
mov dword [ebp - 0x20c], 0xde00c1
mov dword [ebp - 0x208], 0xdc00df
mov dword [ebp - 0x204], 0xae00de
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x20c], ax
inc ecx
mov eax, dword [ebp - 0x210]
cmp ecx, eax
jb 0x598ab0
xor ecx, ecx
mov dword [ebp - 0x14], 7
mov word [ebp + eax*2 - 0x20c], cx
xor eax, eax
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x20c]
mov word [ebp - 0x28], ax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x598af0
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.004044f0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x48], eax
je 0x598b4d
movups xmm0, xmmword [ebp - 0x28]
mov dword [eax + 0x10], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x18]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [ebp - 0x4c], 0x18
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
jmp 0x598b5a
lea ecx, [ebp - 0x28]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.004081e0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00404490
mov dword [ebp - 0x28], 9
xor ecx, ecx
mov dword [ebp - 0x24], 0xc300ed
mov dword [ebp - 0x20], 0xc900d9
mov dword [ebp - 0x1c], 0xda00ce
mov dword [ebp - 0x18], 0xc200c0
mov dword [ebp - 0x14], 0xb200c8
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x24], ax
inc ecx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
jb 0x598b92
xor ecx, ecx
mov dword [ebp - 0x2c], 7
mov word [ebp + eax*2 - 0x24], cx
xor eax, eax
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x24]
mov word [ebp - 0x40], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x598bc2
sub ecx, edx
lea eax, [ebp - 0x24]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.004044f0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x48], eax
je 0x598c1c
movups xmm0, xmmword [ebp - 0x40]
mov dword [eax + 0x10], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x30]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [ebp - 0x4c], 0x18
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
jmp 0x598c29
lea ecx, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.004081e0
lea ecx, [ebp - 0x40]
call fcn.00404490
push 0x30
lea eax, [ebp - 0xd8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [ebp - 0xd8], 0
add esp, 0xc
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 7
mov word [ebp - 0xc8], ax
mov word [ebp - 0xb0], ax
mov byte [ebp - 0xae], al
lea eax, [ebp - 0x3a0]
mov byte [ebp - 4], 4
push eax
call fcn.0059aa80
mov edi, eax
xor ecx, ecx
mov edx, dword [edi]
lea esi, [edi + 4]
test edx, edx
je 0x598cc4
lea eax, [ecx + 0xa9]
xor word [esi + ecx*2], ax
inc ecx
mov edx, dword [edi]
cmp ecx, edx
jb 0x598cb3
xor eax, eax
mov ecx, esi
mov word [esi + edx*2], ax
mov dword [ebp - 0x154], VariantCopy
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], 7
lea edx, [ecx + 2]
mov word [ebp - 0x150], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x598cf0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x150]
call fcn.004044f0
push 0xf003f
push 0
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x59a757
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa0], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0xd8]
push eax
movq qword [ebp - 0xa8], xmm0
call fcn.00580380
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x254], eax
cmp eax, dword [ebp - 0xa4]
je 0x59a748
push eax
lea ecx, [ebp - 0x28]
call fcn.00404120
mov byte [ebp - 4], 7
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
cmp word [eax], 0x2e
jne 0x59a721
mov esi, dword [ebp - 0x4c]
lea eax, [ebp - 0x28]
mov edi, dword [ebp - 0x50]
lea ecx, [ebp - 0x40]
push eax
call fcn.00404120
cmp edi, esi
je 0x598ddb
nop dword [eax]
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
mov ecx, edi
cmovae eax, dword [ebp - 0x40]
cmp dword [edi + 0x14], 8
jb 0x598dc5
mov ecx, dword [edi]
push eax
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x598ddb
add edi, 0x18
cmp edi, esi
jne 0x598db0
lea ecx, [ebp - 0x40]
call fcn.00404490
cmp edi, dword [ebp - 0x4c]
jne 0x59a721
mov eax, 0x10
mov dword [ebp - 0x1f4], 0xe500f5
mov dword [ebp - 0x1f8], eax
xor ecx, ecx
mov dword [ebp - 0x1f0], 0xc900db
mov dword [ebp - 0x1ec], 0xf900c3
mov dword [ebp - 0x1e8], 0xc400c6
mov dword [ebp - 0x1e4], 0xe200d9
mov dword [ebp - 0x1e0], 0xdb00c1
mov dword [ebp - 0x1dc], 0xdf00d2
mov dword [ebp - 0x1d8], 0xcb00d3
mov dword [ebp - 0x1d4], 0xb9
nop dword [eax]
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x1f4], ax
inc ecx
mov eax, dword [ebp - 0x1f8]
cmp ecx, eax
jb 0x598e60
xor ecx, ecx
mov word [ebp + eax*2 - 0x1f4], cx
lea eax, [ebp - 0x150]
push 0x7cf384
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.00421b40
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
push dword [ebp - 0x18]
cmovae ecx, dword [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00407c50
mov edi, dword [ebp - 0x1d0]
xor ecx, ecx
mov dword [ebp - 0x2b4], 0
or edi, 0x10
mov dword [ebp - 0x2b0], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x1d0], edi
movups xmmword [ebp - 0x2c4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2b4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x1f4]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x30c]
push eax
call fcn.00408060
mov ecx, dword [ebp - 0x154]
add esp, 0xc
mov dword [ebp - 0x6c], ecx
xor ecx, ecx
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x30c]
call fcn.00404490
lea ecx, [ebp - 0x2c4]
call fcn.00404490
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 0xc
call fcn.00404490
push 0xf003f
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x59915c
lea eax, [ebp - 0x160]
mov byte [ebp - 0x1c9], 0
push eax
lea ecx, [ebp - 0xd8]
call fcn.005805c0
mov byte [ebp - 4], 0xd
mov esi, dword [ebp - 0x160]
cmp esi, dword [ebp - 0x15c]
je 0x599140
push esi
lea ecx, [ebp - 0x40]
call fcn.00404120
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xe
push eax
call fcn.0059ac50
test al, al
jne 0x5990b8
mov dword [ebp - 0x2a8], 5
xor ecx, ecx
mov dword [ebp - 0x2a4], 0xcc0087
mov dword [ebp - 0x2a0], 0xc000c2
mov dword [ebp - 0x29c], 0xae00c8
nop dword [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x2a4], ax
inc ecx
mov eax, dword [ebp - 0x2a8]
cmp ecx, eax
jb 0x599020
xor ecx, ecx
lea edx, [ebp - 0x28]
mov word [ebp + eax*2 - 0x2a4], cx
lea ecx, [ebp - 0x240]
push 0x2e
call fcn.004055a0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1d0]
or ecx, 1
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x2a4]
push ecx
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.00408060
mov ecx, edi
lea edx, [ebp - 0x40]
or ecx, 3
add esp, 0x10
cmp dword [ebp - 0x2c], 8
mov dword [ebp - 0x1d0], ecx
cmovae edx, dword [ebp - 0x40]
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x59909b
mov eax, dword [eax]
cmp ecx, dword [ebp - 0x30]
jne 0x5990af
push ecx
push edx
push eax
call fcn.004090d0
add esp, 0xc
test eax, eax
je 0x5990b8
mov byte [ebp - 0x1f9], 0
jmp 0x5990bf
mov byte [ebp - 0x1f9], 1
mov eax, dword [ebp - 0x1d0]
test al, 2
je 0x5990e3
and eax, 0xfffffffd
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x1d0], eax
call fcn.00404490
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 4], 0xe
test al, 1
je 0x599102
and eax, 0xfffffffe
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x1d0], eax
call fcn.00404490
cmp byte [ebp - 0x1f9], 0
lea ecx, [ebp - 0x40]
jne 0x59912e
mov byte [ebp - 4], 0xd
call fcn.00404490
mov edi, dword [ebp - 0x1d0]
add esi, 0x18
cmp esi, dword [ebp - 0x15c]
jne 0x598fd3
jmp 0x59913a
mov byte [ebp - 0x1c9], 1
call fcn.00404490
mov edi, dword [ebp - 0x1d0]
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0xc
call fcn.00404220
cmp byte [ebp - 0x1c9], 0
jne 0x59a719
mov dword [ebp - 0x94], 0xd
xor ecx, ecx
mov dword [ebp - 0x90], 0xe500f5
mov dword [ebp - 0x8c], 0xc900db
mov dword [ebp - 0x88], 0xf900c3
mov dword [ebp - 0x84], 0xc400c6
mov dword [ebp - 0x80], 0xfe00d9
mov dword [ebp - 0x7c], 0xc700da
mov dword [ebp - 0x78], 0xb600c1
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x90], ax
inc ecx
mov eax, dword [ebp - 0x94]
cmp ecx, eax
jb 0x5991b0
xor ecx, ecx
mov word [ebp + eax*2 - 0x90], cx
lea eax, [ebp - 0x150]
push 0x7cf384
push eax
lea eax, [ebp - 0x240]
push eax
call fcn.00421b40
add esp, 0xc
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
push dword [ebp - 0x18]
cmovae ecx, dword [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00407c50
mov dword [ebp - 0x218], 0
xor ecx, ecx
mov dword [ebp - 0x214], 0
or edi, 0x20
mov dword [ebp - 0x1d0], edi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x228], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x218], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.00408060
mov ecx, dword [ebp - 0x154]
xor edx, edx
add esp, 0xc
mov dword [ebp - 0x1ec], ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x1e8], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], dx
mov dword [ebp - 0x6c], ecx
lea ecx, [ebp - 0x68]
movq qword [ebp - 0x74], xmm0
movq qword [ebp - 0x1d8], xmm0
call fcn.00404490
movups xmm0, xmmword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x1d8], 0
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x1d4], 7
movups xmmword [ebp - 0x68], xmm0
mov word [ebp - 0x1e8], ax
movq xmm0, qword [ebp - 0x74]
movq qword [ebp - 0x58], xmm0
call fcn.00404490
lea ecx, [ebp - 0x294]
call fcn.00404490
lea ecx, [ebp - 0x228]
call fcn.00404490
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0xc
call fcn.00404490
push 0xf003f
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x5994ef
xor eax, eax
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x228]
push 7
push 0x7da4a0
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], 7
mov word [ebp - 0x228], ax
call fcn.004044f0
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f450
lea ecx, [ebp - 0x228]
call fcn.00404490
lea ecx, [ebp - 0x270]
call fcn.00404490
mov edi, dword [ebp - 0x30]
test edi, edi
je 0x5994dd
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
lea esi, [ebp - 0x40]
mov dword [ebp - 0x44], 0
cmovae eax, dword [ebp - 0x40]
cmovae esi, dword [ebp - 0x40]
lea edi, [eax + edi*2]
cmp esi, edi
je 0x5994ce
mov ecx, dword [ebp - 0x44]
nop word [eax + eax]
movzx eax, word [esi]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x218], eax
mov word [ebp - 0x228], ax
lea eax, [ebp - 0x44]
push 1
push eax
mov dword [ebp - 0x214], 7
call fcn.004044f0
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x8c]
call fcn.00404120
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f450
lea ecx, [ebp - 0x294]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x44], eax
call fcn.00404490
lea ecx, [ebp - 0x8c]
call fcn.00404490
lea ecx, [ebp - 0x228]
call fcn.00404490
lea ecx, [ebp - 0x270]
call fcn.00404490
mov eax, dword [ebp - 0x200]
cmp dword [ebp - 0x44], 0
lea ecx, [eax + 1]
cmove ecx, eax
add esi, 2
cmp esi, edi
jne 0x5993f0
jmp 0x5994d0
xor ecx, ecx
cmp ecx, dword [ebp - 0x30]
jne 0x5994dd
lea ecx, [ebp - 0x40]
jmp 0x59a714
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xc
call fcn.00404490
mov edi, dword [ebp - 0x1d0]
mov dword [ebp - 0x1ec], 0xb
xor ecx, ecx
mov dword [ebp - 0x1e8], 0xff00f5
mov dword [ebp - 0x1e4], 0xc900d8
mov dword [ebp - 0x1e0], 0xed00df
mov dword [ebp - 0x1dc], 0xdf00c7
mov dword [ebp - 0x1d8], 0xd100d8
mov dword [ebp - 0x1d4], 0xb400d6
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x1e8], ax
inc ecx
mov eax, dword [ebp - 0x1ec]
cmp ecx, eax
jb 0x599540
xor ecx, ecx
mov word [ebp + eax*2 - 0x1e8], cx
lea eax, [ebp - 0x150]
push 0x7cf384
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.00421b40
add esp, 0xc
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
push dword [ebp - 0x18]
cmovae ecx, dword [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.00407c50
mov dword [ebp - 0x218], 0
xor ecx, ecx
mov dword [ebp - 0x214], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x228], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x218], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x1b
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x5995e3
sub ecx, edx
lea eax, [ebp - 0x1e8]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x228]
call fcn.00407c50
xor ecx, ecx
or edi, 0xc0
mov dword [ebp - 0x1d0], edi
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x2cc], xmm0
mov word [eax], cx
mov eax, dword [ebp - 0x154]
movups xmmword [ebp - 0x2dc], xmm1
mov dword [ebp - 0x2cc], ecx
mov word [ebp - 0x2dc], cx
lea ecx, [ebp - 0x68]
movups xmmword [ebp - 0x38], xmm1
mov dword [ebp - 0x244], eax
movq qword [ebp - 0x74], xmm0
movups xmmword [ebp - 0x240], xmm1
mov dword [ebp - 0x2c8], 7
movq qword [ebp - 0x230], xmm0
mov dword [ebp - 0x6c], eax
call fcn.00404490
movups xmm0, xmmword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x230], 0
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x22c], 7
movups xmmword [ebp - 0x68], xmm0
mov word [ebp - 0x240], ax
movq xmm0, qword [ebp - 0x74]
movq qword [ebp - 0x58], xmm0
call fcn.00404490
lea ecx, [ebp - 0x2dc]
call fcn.00404490
lea ecx, [ebp - 0x228]
call fcn.00404490
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0xc
call fcn.00404490
push 0x20019
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x599832
mov eax, 6
mov dword [ebp - 0x38], 0xd800f9
mov dword [ebp - 0x3c], eax
xor ecx, ecx
mov dword [ebp - 0x34], 0xcb00c4
mov dword [ebp - 0x30], 0xca00e4
mov dword [ebp - 0x2c], 0xaf
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x38], ax
inc ecx
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
jb 0x599724
xor ecx, ecx
mov word [ebp + eax*2 - 0x38], cx
xor eax, eax
mov dword [ebp - 0x218], ecx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x214], 7
lea edx, [ecx + 2]
mov word [ebp - 0x228], ax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x599760
sub ecx, edx
lea eax, [ebp - 0x38]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x228]
call fcn.004044f0
xor eax, eax
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f450
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x178], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x168], xmm0
mov word [eax], cx
lea ecx, [ebp - 0x294]
call fcn.00404490
lea ecx, [ebp - 0x270]
call fcn.00404490
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x20
call fcn.00404490
lea eax, [ebp - 0x178]
push eax
call fcn.0059ac50
lea ecx, [ebp - 0x178]
test al, al
jne 0x59a714
mov byte [ebp - 4], 0xc
call fcn.00404490
lea eax, [ebp - 0x28]
mov dword [ebp - 0x1ec], VariantCopy
push eax
lea ecx, [ebp - 0x1e8]
call fcn.00404120
mov eax, dword [ebp - 0x1ec]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x6c], eax
call fcn.00404490
movups xmm0, xmmword [ebp - 0x1e8]
xor eax, eax
lea ecx, [ebp - 0x1e8]
mov word [ebp - 0x1e8], ax
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [ebp - 0x1d8]
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 7
call fcn.00404490
push 0xf003f
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
jne 0x59a719
mov eax, 0x10
mov dword [ebp - 0xfc], 0xe500f5
mov dword [ebp - 0x100], eax
xor ecx, ecx
mov dword [ebp - 0xf8], 0xc900db
mov dword [ebp - 0xf4], 0xf900c3
mov dword [ebp - 0xf0], 0xc400c6
mov dword [ebp - 0xec], 0xe200d9
mov dword [ebp - 0xe8], 0xdb00c1
mov dword [ebp - 0xe4], 0xdf00d2
mov dword [ebp - 0xe0], 0xcb00d3
mov dword [ebp - 0xdc], 0xb9
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0xfc], ax
inc ecx
mov eax, dword [ebp - 0x100]
cmp ecx, eax
jb 0x599921
xor ecx, ecx
mov dword [ebp - 0x9c], 0x11
mov word [ebp + eax*2 - 0xfc], cx
mov dword [ebp - 0x98], 0xc500fa
mov dword [ebp - 0x94], 0xd800cd
mov dword [ebp - 0x90], 0xcf00da
mov dword [ebp - 0x8c], 0xd500dd
mov dword [ebp - 0x88], 0xf100ed
mov dword [ebp - 0x84], 0xd500df
mov dword [ebp - 0x80], 0xc500c6
mov dword [ebp - 0x7c], 0xcb00d2
mov dword [ebp - 0x78], 0xba00e5
nop
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x98], ax
inc ecx
mov eax, dword [ebp - 0x9c]
cmp ecx, eax
jb 0x5999a0
xor ecx, ecx
mov word [ebp + eax*2 - 0x98], cx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x240]
push eax
call fcn.0041ee30
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 0x21
push ecx
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.00408060
xor ecx, ecx
mov dword [ebp - 0x1ec], VariantCopy
add esp, 0x18
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x1e8], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x68]
movq qword [ebp - 0x74], xmm0
movq qword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x6c], SysStringLen
call fcn.00404490
movups xmm0, xmmword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x1d8], 0
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x1d4], 7
movups xmmword [ebp - 0x68], xmm0
mov word [ebp - 0x1e8], ax
movq xmm0, qword [ebp - 0x74]
movq qword [ebp - 0x58], xmm0
call fcn.00404490
lea ecx, [ebp - 0x294]
call fcn.00404490
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0xc
call fcn.00404490
push 0xf003f
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x599b1a
lea eax, [ebp - 0x114]
mov dword [ebp - 0x10c], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0xd8]
push eax
movq qword [ebp - 0x114], xmm0
call fcn.005805c0
mov byte [ebp - 4], 0x22
mov esi, dword [ebp - 0x114]
mov edi, dword [ebp - 0x110]
cmp esi, edi
je 0x599b05
nop word [eax + eax]
push esi
call fcn.0059ac50
test al, al
jne 0x59a184
add esi, 0x18
cmp esi, edi
jne 0x599af0
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0xc
call fcn.00404220
mov edi, dword [ebp - 0x1d0]
mov eax, 0x10
mov dword [ebp - 0x24c], 0xe500f5
mov dword [ebp - 0x250], eax
xor ecx, ecx
mov dword [ebp - 0x248], 0xc900db
mov dword [ebp - 0x244], 0xf900c3
mov dword [ebp - 0x240], 0xc400c6
mov dword [ebp - 0x23c], 0xe200d9
mov dword [ebp - 0x238], 0xdb00c1
mov dword [ebp - 0x234], 0xdf00d2
mov dword [ebp - 0x230], 0xcb00d3
mov dword [ebp - 0x22c], 0xb9
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x24c], ax
inc ecx
mov eax, dword [ebp - 0x250]
cmp ecx, eax
jb 0x599b81
xor ecx, ecx
mov dword [ebp - 0x9c], 0x11
mov word [ebp + eax*2 - 0x24c], cx
mov dword [ebp - 0x98], 0xc500fa
mov dword [ebp - 0x94], 0xd800cd
mov dword [ebp - 0x90], 0xcf00da
mov dword [ebp - 0x8c], 0xd500dd
mov dword [ebp - 0x88], 0xf100ed
mov dword [ebp - 0x84], 0xd500df
mov dword [ebp - 0x80], 0xc500c6
mov dword [ebp - 0x7c], 0xcb00d2
mov dword [ebp - 0x78], 0xba00e5
nop
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x98], ax
inc ecx
mov eax, dword [ebp - 0x9c]
cmp ecx, eax
jb 0x599c00
xor ecx, ecx
mov word [ebp + eax*2 - 0x98], cx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.0041ee30
add esp, 0xc
mov edx, eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x23
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x599c50
sub ecx, esi
lea eax, [ebp - 0x24c]
sar ecx, 1
push ecx
push eax
mov ecx, edx
call fcn.00407c50
xor ecx, ecx
mov dword [ebp - 0x1ec], reloc.OLEAUT32.dll_SysReAllocString
or edi, 0x100
mov dword [ebp - 0x1d0], edi
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
xor eax, eax
movq qword [ebp - 0x2e4], xmm0
mov dword [ebp - 0x2e4], ecx
lea ecx, [ebp - 0x68]
movups xmmword [ebp - 0x2f4], xmm1
mov dword [ebp - 0x2e0], 7
movups xmmword [ebp - 0x38], xmm1
mov word [ebp - 0x2f4], ax
movq qword [ebp - 0x74], xmm0
movups xmmword [ebp - 0x1e8], xmm1
mov dword [ebp - 0x6c], reloc.OLEAUT32.dll_SysReAllocString
movq qword [ebp - 0x1d8], xmm0
call fcn.00404490
movups xmm0, xmmword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x1d8], 0
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x1d4], 7
movups xmmword [ebp - 0x68], xmm0
mov word [ebp - 0x1e8], ax
movq xmm0, qword [ebp - 0x74]
movq qword [ebp - 0x58], xmm0
call fcn.00404490
lea ecx, [ebp - 0x2f4]
call fcn.00404490
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0xc
call fcn.00404490
push 0xf003f
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x599dbb
lea eax, [ebp - 0x120]
mov dword [ebp - 0x118], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0xd8]
push eax
movq qword [ebp - 0x120], xmm0
call fcn.005805c0
mov byte [ebp - 4], 0x24
mov esi, dword [ebp - 0x120]
mov edi, dword [ebp - 0x11c]
cmp esi, edi
je 0x599dac
push esi
call fcn.0059ac50
test al, al
jne 0x59a194
add esi, 0x18
cmp esi, edi
jne 0x599d97
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0xc
call fcn.00404220
lea eax, [ebp - 0x28]
mov dword [ebp - 0x1ec], VariantCopy
push eax
lea ecx, [ebp - 0x1e8]
call fcn.00404120
mov eax, dword [ebp - 0x1ec]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x6c], eax
call fcn.00404490
movups xmm0, xmmword [ebp - 0x1e8]
xor eax, eax
lea ecx, [ebp - 0x1e8]
mov word [ebp - 0x1e8], ax
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [ebp - 0x1d8]
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 7
call fcn.00404490
push 0xf003f
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x59a1b3
xor eax, eax
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x228]
push eax
push 0x7d7468
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], al
call fcn.00407ab0
lea edx, [ebp - 0x228]
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x240]
call fcn.00575910
lea ecx, [ebp - 0x228]
call fcn.00407a10
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f450
lea ecx, [ebp - 0x240]
call fcn.00404490
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0x2a
call fcn.00404490
cmp dword [ebp - 0xe0], 0
je 0x59a1a4
push str._shellOpencommand
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.00421b40
xor ecx, ecx
mov dword [ebp - 0x1ec], VariantCopy
add esp, 0xc
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x1e8], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x68]
movq qword [ebp - 0x74], xmm0
movq qword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x6c], SysStringLen
call fcn.00404490
movups xmm0, xmmword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x1d8], 0
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x1d4], 7
movups xmmword [ebp - 0x68], xmm0
mov word [ebp - 0x1e8], ax
movq xmm0, qword [ebp - 0x74]
movq qword [ebp - 0x58], xmm0
call fcn.00404490
lea ecx, [ebp - 0x294]
call fcn.00404490
push 0xf003f
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x59a1a4
push 4
xor eax, eax
mov dword [ebp - 0x30], 0
push str..exe
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.004044f0
xor eax, eax
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x228]
push eax
push 0x7d7468
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], al
call fcn.00407ab0
lea edx, [ebp - 0x228]
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x294]
call fcn.00575910
lea ecx, [ebp - 0x228]
call fcn.00407a10
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0x2e
push eax
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f450
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2f
push ecx
mov edx, eax
lea ecx, [ebp - 0x20c]
call fcn.00405bb0
push str..exe
mov byte [ebp - 4], 0x30
push dword [eax]
lea eax, [ebp - 0x8c]
push eax
call fcn.00421b40
add esp, 0x10
lea ecx, [ebp - 0x20c]
call fcn.00404220
lea ecx, [ebp - 0x1e8]
call fcn.00404490
lea ecx, [ebp - 0x294]
call fcn.00404490
lea ecx, [ebp - 0x270]
call fcn.00404490
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x36
call fcn.00404490
push 0x22
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0x240]
call fcn.004055a0
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 7
mov word [ebp - 0x27c], cx
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], ecx
push eax
lea ecx, [ebp - 0x27c]
mov byte [ebp - 4], 0x39
call fcn.00403b80
lea eax, [ebp - 0x27c]
mov byte [ebp - 4], 0x3a
push eax
call fcn.00418540
add esp, 4
mov byte [ebp - 0x1c9], al
lea ecx, [ebp - 0x264]
call fcn.00404220
lea ecx, [ebp - 0x27c]
call fcn.00404490
lea ecx, [ebp - 0x240]
call fcn.00404490
lea ecx, [ebp - 0x8c]
call fcn.00404490
cmp byte [ebp - 0x1c9], 0
je 0x59a1a4
lea ecx, [ebp - 0xf0]
jmp 0x59a714
lea ecx, [ebp - 0x114]
call fcn.00404220
jmp 0x59a719
lea ecx, [ebp - 0x120]
call fcn.00404220
jmp 0x59a719
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xc
call fcn.00404490
mov dword [ebp - 0x250], 0x11
xor ecx, ecx
mov dword [ebp - 0x24c], 0xc500fa
mov dword [ebp - 0x248], 0xd800cd
mov dword [ebp - 0x244], 0xcf00da
mov dword [ebp - 0x240], 0xd500dd
mov dword [ebp - 0x23c], 0xf100ed
mov dword [ebp - 0x238], 0xd500df
mov dword [ebp - 0x234], 0xc500c6
mov dword [ebp - 0x230], 0xcb00d2
mov dword [ebp - 0x22c], 0xba00e5
nop dword [eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x24c], ax
inc ecx
mov eax, dword [ebp - 0x250]
cmp ecx, eax
jb 0x59a220
xor ecx, ecx
mov word [ebp + eax*2 - 0x24c], cx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.0041ee30
xor ecx, ecx
mov dword [ebp - 0x298], reloc.OLEAUT32.dll_SysReAllocString
add esp, 0xc
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x294], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x68]
movq qword [ebp - 0x74], xmm0
movq qword [ebp - 0x284], xmm0
mov dword [ebp - 0x6c], reloc.OLEAUT32.dll_SysReAllocString
call fcn.00404490
movups xmm0, xmmword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x284], 0
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x280], 7
movups xmmword [ebp - 0x68], xmm0
mov word [ebp - 0x294], ax
movq xmm0, qword [ebp - 0x74]
movq qword [ebp - 0x58], xmm0
call fcn.00404490
lea ecx, [ebp - 0x1e8]
call fcn.00404490
push 0xf003f
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x59a58f
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x124], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0xd8]
push eax
movq qword [ebp - 0x12c], xmm0
call fcn.005805c0
mov esi, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x128]
cmp esi, edi
je 0x59a584
nop word [eax + eax]
mov ecx, 6
mov dword [ebp - 0x38], 0xc500e7
mov dword [ebp - 0x3c], ecx
xor eax, eax
mov dword [ebp - 0x34], 0xdc00e4
mov dword [ebp - 0x30], 0xc000c8
mov dword [ebp - 0x2c], 0xaf
nop word [eax + eax]
lea ecx, [eax + 0xa9]
xor word [ebp + eax*2 - 0x38], cx
inc eax
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
jb 0x59a380
xor eax, eax
mov word [ebp + ecx*2 - 0x38], ax
lea ecx, [ebp - 0x38]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x59a3a0
mov eax, dword [esi + 0x10]
sub ecx, edx
sar ecx, 1
mov edx, esi
cmp dword [esi + 0x14], 8
jb 0x59a3bc
mov edx, dword [esi]
cmp eax, ecx
jne 0x59a3d6
push eax
lea eax, [ebp - 0x38]
push eax
push edx
call fcn.004090d0
add esp, 0xc
test eax, eax
jne 0x59a3d6
mov al, 1
jmp 0x59a3d8
xor al, al
test al, al
jne 0x59a658
mov eax, 0xc
mov dword [ebp - 0x1ec], 0xc500ea
mov dword [ebp - 0x1f0], eax
xor ecx, ecx
mov dword [ebp - 0x1e8], 0xd800c5
mov dword [ebp - 0x1e4], 0xc000c8
mov dword [ebp - 0x1e0], 0x9000db
mov dword [ebp - 0x1dc], 0xcb00e5
mov dword [ebp - 0x1d8], 0xd100c3
mov dword [ebp - 0x1d4], 0xb5
nop dword [eax]
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x1ec], ax
inc ecx
mov eax, dword [ebp - 0x1f0]
cmp ecx, eax
jb 0x59a440
xor ecx, ecx
mov word [ebp + eax*2 - 0x1ec], cx
lea ecx, [ebp - 0x1ec]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x59a470
mov eax, dword [esi + 0x10]
sub ecx, edx
sar ecx, 1
mov edx, esi
cmp dword [esi + 0x14], 8
jb 0x59a48c
mov edx, dword [esi]
cmp eax, ecx
jne 0x59a4a9
push eax
lea eax, [ebp - 0x1ec]
push eax
push edx
call fcn.004090d0
add esp, 0xc
test eax, eax
jne 0x59a4a9
mov al, 1
jmp 0x59a4ab
xor al, al
test al, al
jne 0x59a658
mov dword [ebp - 0x1f0], 0xd
xor ecx, ecx
mov dword [ebp - 0x1ec], 0xcf00f9
mov dword [ebp - 0x1e8], 0xcf00d9
mov dword [ebp - 0x1e4], 0xc700c8
mov dword [ebp - 0x1e0], 0xd500d9
mov dword [ebp - 0x1dc], 0xe600d5
mov dword [ebp - 0x1d8], 0xc400ca
mov dword [ebp - 0x1d4], 0xb600d0
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x1ec], ax
inc ecx
mov eax, dword [ebp - 0x1f0]
cmp ecx, eax
jb 0x59a510
xor ecx, ecx
mov word [ebp + eax*2 - 0x1ec], cx
lea ecx, [ebp - 0x1ec]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x59a540
mov eax, dword [esi + 0x10]
sub ecx, edx
sar ecx, 1
mov edx, esi
cmp dword [esi + 0x14], 8
jb 0x59a55c
mov edx, dword [esi]
cmp eax, ecx
jne 0x59a579
push eax
lea eax, [ebp - 0x1ec]
push eax
push edx
call fcn.004090d0
add esp, 0xc
test eax, eax
je 0x59a658
add esi, 0x18
cmp esi, edi
jne 0x59a350
lea ecx, [ebp - 0x12c]
call fcn.00404220
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x1f8]
push eax
call fcn.0059ab70
mov ecx, eax
call fcn.00403e20
push eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.0041ee30
add esp, 0xc
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0x3b
push eax
lea eax, [ebp - 0x200]
mov dword [ebp - 0x200], reloc.OLEAUT32.dll_SysReAllocString
push eax
lea ecx, [ebp - 0x1c8]
call fcn.0059dc30
push 0xf003f
push 0
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x59a687
lea eax, [ebp - 0x138]
mov byte [ebp - 0x1c9], 0
push eax
lea ecx, [ebp - 0xd8]
call fcn.00580380
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0x134]
cmp esi, edi
je 0x59a66f
nop dword [eax + eax]
lea eax, [ebp - 0x1f8]
push eax
call fcn.0059abd0
mov ecx, eax
call fcn.00403e20
push eax
mov ecx, esi
call fcn.004253c0
test al, al
jne 0x59a668
add esi, 0x18
cmp esi, edi
jne 0x59a630
jmp 0x59a66f
lea ecx, [ebp - 0x12c]
call fcn.00404220
jmp 0x59a719
mov byte [ebp - 0x1c9], 1
lea ecx, [ebp - 0x138]
call fcn.00404220
cmp byte [ebp - 0x1c9], 0
jne 0x59a703
push ecx
lea ecx, [ebp - 0x108]
call fcn.00460ee0
push 0xac
call fcn.0076e8c3
mov esi, eax
mov dword [ebp - 0x2ac], esi
mov ecx, esi
mov byte [ebp - 4], 0x3d
call fcn.005922c0
push 0
push 0
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0058f5b0
push eax
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x3c
call fcn.0059dc00
mov esi, dword [ebp - 0x258]
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 4], 0x3e
lea ecx, [esi + 0x38]
call fcn.0059db80
mov byte [esi + 4], 1
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x3f
call fcn.0059dbd0
lea ecx, [ebp - 0x1c4]
call fcn.00404490
lea ecx, [ebp - 0x1ac]
call fcn.00404490
lea ecx, [ebp - 0x68]
call fcn.00404490
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.00404490
mov eax, dword [ebp - 0x254]
add eax, 0x18
mov dword [ebp - 0x254], eax
cmp eax, dword [ebp - 0xa4]
jne 0x598d74
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 5
call fcn.00404220
lea eax, [ebp - 0x74]
push eax
call fcn.0059ac30
mov ecx, eax
call fcn.00403e20
mov dword [ebp - 0x200], eax
lea ecx, [ebp - 0x194]
lea eax, [ebp - 0x200]
mov dword [ebp - 0x44], SysStringLen
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0045c4f0
push 0xf003f
push 0
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x40
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
je 0x59aa1d
push ecx
lea ecx, [ebp - 0xa8]
call fcn.00403e00
mov eax, ecx
lea ecx, [ebp - 0xd8]
push eax
call fcn.00580380
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x254], eax
cmp eax, dword [ebp - 0xa4]
je 0x59aa12
push eax
lea ecx, [ebp - 0x28]
call fcn.00404120
push 0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x42
call fcn.004076e0
cmp word [eax], 0x2e
je 0x59a813
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x41
call fcn.00404490
jmp 0x59a9f7
mov esi, dword [ebp - 0x4c]
lea eax, [ebp - 0x28]
mov edi, dword [ebp - 0x50]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2ac], ecx
push eax
call fcn.00404120
push esi
push edi
lea ecx, [ebp - 0x200]
call fcn.0059dc60
add esp, 0x20
mov eax, dword [eax]
cmp eax, dword [ebp - 0x4c]
je 0x59a855
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x41
call fcn.00404490
jmp 0x59a9f7
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0059dc30
push 0xf003f
push 0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0xd8]
call fcn.0057f2d0
test al, al
jne 0x59a89f
lea ecx, [ebp - 0x68]
call fcn.00404490
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x41
call fcn.00404490
jmp 0x59a9f7
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00580380
mov byte [ebp - 4], 0x44
mov ecx, eax
mov esi, dword [ebp - 0x1d0]
or esi, 4
mov dword [ebp - 0x1d0], esi
mov dword [ebp - 0x44], esi
call fcn.00403e70
test eax, eax
jne 0x59a8ff
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0xd8]
call fcn.005805c0
or esi, 8
mov ecx, eax
mov dword [ebp - 0x1d0], esi
call fcn.00403e70
mov byte [ebp - 0x1c9], 0
test eax, eax
je 0x59a906
mov byte [ebp - 0x1c9], 1
mov eax, dword [ebp - 0x1d0]
test al, 8
je 0x59a92a
and eax, 0xfffffff7
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x1d0], eax
call fcn.00404220
mov eax, dword [ebp - 0x1d0]
and eax, 0xfffffffb
mov dword [ebp - 4], 0x43
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x1d0], eax
call fcn.00404220
cmp byte [ebp - 0x1c9], 0
je 0x59a967
lea ecx, [ebp - 0x68]
call fcn.00404490
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x41
call fcn.00404490
jmp 0x59a9f7
push ecx
lea ecx, [ebp - 0x74]
call fcn.00460ee0
push 0xac
call fcn.0076e8c3
mov esi, eax
mov dword [ebp - 0x104], esi
mov ecx, esi
mov byte [ebp - 4], 0x45
call fcn.005922c0
push 0
push 0
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.0058f5b0
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x43
call fcn.0059dc00
mov esi, dword [ebp - 0x258]
lea eax, [ebp - 0x74]
push eax
mov byte [ebp - 4], 0x46
lea ecx, [esi + 0x38]
call fcn.0059db80
mov byte [esi + 4], 1
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x47
call fcn.0059dbd0
lea ecx, [ebp - 0x68]
call fcn.00404490
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x41
call fcn.00404490
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x254]
add eax, 0x18
mov dword [ebp - 0x254], eax
cmp eax, dword [ebp - 0xa4]
jne 0x59a7e5
lea ecx, [ebp - 0xa8]
call fcn.00404220
mov eax, dword [ebp - 0x258]
lea ecx, [ebp - 0x190]
mov al, byte [eax + 4]
mov byte [ebp - 0x1c9], al
call fcn.00404490
lea ecx, [ebp - 0x150]
call fcn.00404490
lea ecx, [ebp - 0xd8]
call fcn.0057eff0
lea ecx, [ebp - 0x50]
call fcn.00404220
mov al, byte [ebp - 0x1c9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0076eb7e
mov esp, ebp
pop ebp
ret