Function at 0x40eb99
Capabilities:
Contain obfuscated stackstrings
Create directory
Create process on windows

Disassembly:
push 0x300
mov eax, 0x579cfb
call fcn.00550e3c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x2b4], eax
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x278], edi
mov dword [ebp - 0x2b0], edi
xor ebx, ebx
mov dword [ebp - 0x274], ebx
push str.Worker
mov ecx, 0x5ff524
call fcn.0040332b
mov eax, dword [0x5ff544]
add eax, 0xfffffff0
push eax
call fcn.004027c6
pop ecx
lea esi, [eax + 0x10]
mov dword [ebp - 0x2a8], esi
mov dword [ebp - 4], 2
call fcn.0042de6a
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00401429
mov byte [ebp - 4], 4
mov byte [ebp - 4], 5
wait
lea ecx, [ebp - 0x288]
call fcn.00401515
mov byte [ebp - 4], 6
push dword [edi + 4]
push 0x592e70
lea eax, [ebp - 0x288]
push eax
call fcn.00402933
add esp, 0xc
cmp dword [edi + 0x24], 1
jne 0x40ec7d
push ecx
mov ecx, esp
mov dword [ebp - 0x284], esp
lea eax, [ebp - 0x288]
push eax
call fcn.00401452
mov byte [ebp - 4], 7
push ecx
mov ecx, esp
mov dword [ebp - 0x298], esp
push str.start
call fcn.004014cd
mov byte [ebp - 4], 8
mov byte [ebp - 4], 6
call fcn.0041850a
pop ecx
pop ecx
lea ecx, [ebp - 0x2a4]
call fcn.00401515
mov byte [ebp - 4], 9
lea eax, [ebp - 0x27c]
push eax
call fcn.00421139
mov edi, eax
mov byte [ebp - 4], 0xa
push 1
lea eax, [ebp - 0x294]
push eax
call fcn.004212a6
mov byte [ebp - 4], 0xb
push edi
push eax
lea eax, [ebp - 0x29c]
push eax
call fcn.00409a0d
add esp, 0x18
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x294]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x27c]
lea ecx, [ecx - 0x10]
call fcn.004032e4
push 0x593270
push 0x595190
lea ecx, [ebp - 0x29c]
call fcn.00407438
push 0x593cbc
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.00409a62
add esp, 0xc
mov byte [ebp - 4], 0x11
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.004026b1
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x27c]
lea ecx, [ecx - 0x10]
call fcn.004032e4
push ebx
push dword [ebp - 0x2a4]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x40eda4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x40eda4
push 1
lea eax, [ebp - 0x27c]
push eax
call fcn.004212a6
pop ecx
pop ecx
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x2a4]
call fcn.004070db
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x27c]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov edi, dword [ebp - 0x278]
jmp 0x40ee1b
lea eax, [ebp - 0x268]
mov dword [ebp - 0x26c], eax
push 3
mov edi, dword [ebp - 0x278]
push dword [edi + 0x10]
lea ecx, [ebp - 0x26c]
call fcn.004029c2
mov byte [ebp - 4], 0x13
push dword [ebp - 0x26c]
lea ecx, [ebp - 0x2c]
call fcn.004016bb
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x14], 0x10
jb 0x40ede4
mov eax, dword [eax]
push eax
push str.create_directory_OK
call fcn.0041cc0e
pop ecx
pop ecx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2c]
call fcn.00401d18
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x268]
cmp dword [ebp - 0x26c], eax
je 0x40ee1b
push dword [ebp - 0x26c]
call fcn.00550ad6
pop ecx
lea eax, [edi + 0x10]
mov dword [ebp - 0x298], eax
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.004026b1
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x27c], esp
lea eax, [ebp - 0x2a4]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x17
push dword [edi + 0x24]
push ecx
mov ecx, esp
mov dword [ebp - 0x294], esp
lea eax, [ebp - 0x288]
push eax
call fcn.00401452
push 0x18
pop eax
mov dword [ebp - 0x284], eax
mov byte [ebp - 4], al
push dword [edi + 0x14]
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
lea eax, [edi + 0x10]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x19
push ebx
lea eax, [edi + 8]
mov dword [ebp - 0x278], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
push eax
call fcn.00401452
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x2d0]
push eax
mov byte [ebp - 4], 0xf
call fcn.0040a9f2
add esp, 0x24
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x44], bl
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0x2c0], ebx
mov dword [ebp - 0x2bc], ebx
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1e8], eax
push 3
push dword [edi + 0x10]
lea ecx, [ebp - 0x1e8]
call fcn.004029c2
mov byte [ebp - 4], 0x1e
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0x2c]
call fcn.004016bb
mov byte [ebp - 4], 0x1f
cmp dword [eax + 0x14], 0x10
jb 0x40ef27
mov eax, dword [eax]
push eax
push str.DownloadComplete
call fcn.0041cc0e
pop ecx
pop ecx
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2c]
call fcn.00401d18
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x1e4]
cmp dword [ebp - 0x1e8], eax
je 0x40ef5e
push dword [ebp - 0x1e8]
call fcn.00550ad6
pop ecx
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x290]
call fcn.00401452
mov byte [ebp - 4], 0x20
push dword [ebp - 0x2d0]
lea ecx, [ebp - 0x44]
call fcn.004020d2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x280], esp
push 0x594f88
call fcn.004016bb
mov byte [ebp - 4], 0x21
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x28c], esp
lea eax, [ebp - 0x44]
push eax
call fcn.00401695
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x20
call fcn.00406d04
add esp, 0x34
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x2c4]
call fcn.004097af
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x20]
call fcn.0040632b
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x30c], 0x3c
call fcn.0042e945
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x308], 0x140
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x2f4], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f0]
xor ecx, ecx
cmp dword [edi + 4], ebx
cmovne eax, ecx
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], ebx
mov dword [ebp - 0x2e4], str.exefile
lea ecx, [edi + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax - 0xc]
push 3
add eax, 0xfffffffd
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.0040cc59
mov byte [ebp - 4], 0x24
xor ecx, ecx
inc ecx
mov dword [ebp - 0x274], ecx
push 0x5951cc
mov ecx, eax
call fcn.004071d7
test eax, eax
je 0x40f0be
lea ecx, [edi + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax - 0xc]
push 3
add eax, 0xfffffffd
push eax
lea eax, [ebp - 0x27c]
push eax
call fcn.0040cc59
mov dword [ebp - 4], 0x25
push 3
pop ecx
mov dword [ebp - 0x274], ecx
push 0x5951d4
mov ecx, eax
call fcn.004071d7
test eax, eax
mov byte [ebp - 0x26d], 1
jne 0x40f0c4
mov byte [ebp - 0x26d], bl
mov dword [ebp - 4], 0x24
mov eax, dword [ebp - 0x274]
test al, 2
je 0x40f0fd
and eax, 0xfffffffd
mov dword [ebp - 0x274], eax
mov dword [ebp - 4], 0x26
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x27c]
add ecx, 0xfffffff0
call fcn.004032e4
mov eax, dword [ebp - 0x274]
mov dword [ebp - 4], 0x20
test al, 1
je 0x40f127
and eax, 0xfffffffe
mov dword [ebp - 0x274], eax
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x294]
add ecx, 0xfffffff0
call fcn.004032e4
cmp byte [ebp - 0x26d], 0
je 0x40f2b6
push ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
push str.INSTALL_NOT_EXE_NOT_MSI
call fcn.00401485
mov byte [ebp - 4], 0x28
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
push 0x593270
call fcn.004014cd
mov byte [ebp - 4], 0x29
push ecx
mov ecx, esp
mov dword [ebp - 0x284], esp
mov eax, dword [ebp - 0x278]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x2a
push ecx
mov ecx, esp
mov dword [ebp - 0x27c], esp
push str.Not_exe_and_not_msi
call fcn.004014cd
mov byte [ebp - 4], 0x2b
push ecx
mov ecx, esp
mov dword [ebp - 0x294], esp
push 0x5931cc
call fcn.004014cd
mov byte [ebp - 4], 0x2c
push ecx
mov ecx, esp
mov dword [ebp - 0x278], esp
push dword [ebp - 0x298]
call fcn.00401452
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x20
call fcn.0041942d
add esp, 0x18
push 1
push ebx
push ebx
push dword [ebp - 0x290]
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0x593848
mov edi, dword [ebp - 0x2ac]
mov ecx, edi
call fcn.004014cd
mov ecx, dword [ebp - 0x274]
or ecx, 4
mov dword [ebp - 0x274], ecx
mov byte [ebp - 4], 0x2e
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x290]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2c4]
call fcn.0040632b
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x44]
call fcn.00401d18
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2d0]
call fcn.0040632b
mov byte [ebp - 4], 0x2f
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x29c]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov byte [ebp - 4], 0x30
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x2a4]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov byte [ebp - 4], 0x31
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x288]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov byte [ebp - 4], 0x32
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2a0]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov dword [ebp - 4], 0x33
mov byte [ebp - 4], bl
lea ecx, [esi - 0x10]
call fcn.004032e4
mov eax, edi
wait
jmp 0x40fe48
movsd xmm0, qword [edi + 0x30]
comisd xmm0, xmmword [0x595de0]
jb 0x40f309
lea ecx, [edi + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax - 0xc]
push 3
add eax, 0xfffffffd
push eax
lea eax, [ebp - 0x298]
push eax
call fcn.0040cc59
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x274]
or ecx, 8
mov dword [ebp - 0x274], ecx
push 0x5951d4
mov ecx, eax
call fcn.004071d7
test eax, eax
mov byte [ebp - 0x26d], 1
je 0x40f30f
mov byte [ebp - 0x26d], bl
mov dword [ebp - 4], 0x20
mov eax, dword [ebp - 0x274]
test al, 8
je 0x40f33f
and eax, 0xfffffff7
mov dword [ebp - 0x274], eax
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x298]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov eax, str.runas
mov ecx, str.open
cmp byte [ebp - 0x26d], 0
cmove eax, ecx
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x2c4]
add ecx, 0x30
cmp dword [ecx + 0x14], 0x10
jb 0x40f372
mov eax, dword [ecx]
mov dword [ebp - 0x278], eax
jmp 0x40f378
mov dword [ebp - 0x278], ecx
lea eax, [ebp - 0x280]
push eax
call fcn.004076d3
push ebx
push dword [eax]
push dword [ebp - 0x278]
lea ecx, [ebp - 0x5c]
call fcn.004088fa
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x2fc], eax
mov byte [ebp - 4], 0x37
wait
push ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
push 0x592ec4
call fcn.00401485
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x160]
mov dword [ebp - 0x164], eax
push 3
push dword [ebp - 0x290]
lea ecx, [ebp - 0x164]
call fcn.004029c2
mov byte [ebp - 4], 0x39
push dword [ebp - 0x164]
lea ecx, [ebp - 0x2c]
call fcn.004016bb
mov byte [ebp - 4], 0x3a
cmp dword [eax + 0x14], 0x10
jb 0x40f3fe
mov eax, dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
push eax
call fcn.00401485
mov byte [ebp - 4], 0x3b
mov byte [ebp - 4], 0x3d
call fcn.0041fea4
pop ecx
pop ecx
mov byte [ebp - 0x26d], al
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x2c]
call fcn.00401d18
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x160]
cmp dword [ebp - 0x164], eax
je 0x40f44c
push dword [ebp - 0x164]
call fcn.00550ad6
pop ecx
cmp byte [ebp - 0x26d], 0
je 0x40f743
lea eax, [ebp - 0x30c]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x40f696
cmp dword [edi + 4], ebx
jne 0x40f47a
push 0x3e8
jmp 0x40f489
cmp dword [edi + 0x24], ebx
jne 0x40f484
push dword [edi + 0x28]
jmp 0x40f489
push 0x493e0
push dword [ebp - 0x2d4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x2b8]
push eax
push dword [ebp - 0x2d4]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x40f615
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
push 3
push dword [edi + 0x10]
lea ecx, [ebp - 0xe0]
call fcn.004029c2
mov byte [ebp - 4], 0x3e
push dword [ebp - 0xe0]
lea ecx, [ebp - 0x2c]
call fcn.004016bb
mov byte [ebp - 4], 0x3f
cmp dword [eax + 0x14], 0x10
jb 0x40f4f0
mov eax, dword [eax]
push eax
push 0x595234
call fcn.0041cc0e
pop ecx
pop ecx
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x2c]
call fcn.00401d18
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0xdc]
cmp dword [ebp - 0xe0], eax
je 0x40f527
push dword [ebp - 0xe0]
call fcn.00550ad6
pop ecx
lea ecx, [ebp - 0x278]
call fcn.00401515
mov byte [ebp - 4], 0x40
push dword [ebp - 0x2b8]
push 0x592e70
lea eax, [ebp - 0x278]
push eax
call fcn.00402933
add esp, 0xc
mov eax, dword [0x5ff544]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x288]
call fcn.004026b1
push ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
push str.INSTALL_ERROR
call fcn.00401485
mov byte [ebp - 4], 0x41
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
push 0x593270
call fcn.004014cd
mov byte [ebp - 4], 0x42
push ecx
mov ecx, esp
mov dword [ebp - 0x284], esp
lea eax, [edi + 8]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x43
push ecx
mov ecx, esp
mov dword [ebp - 0x298], esp
push str.Error_GetExitCodeProcess
call fcn.004014cd
mov byte [ebp - 4], 0x44
push ecx
mov ecx, esp
mov dword [ebp - 0x27c], esp
lea eax, [ebp - 0x278]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x45
push ecx
mov ecx, esp
mov dword [ebp - 0x294], esp
lea eax, [edi + 0x10]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x46
mov byte [ebp - 4], 0x40
call fcn.0041942d
add esp, 0x18
mov byte [ebp - 4], 0x47
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x278]
add ecx, 0xfffffff0
call fcn.004032e4
jmp 0x40f892
push 0x5931c0
lea ecx, [ebp - 0x288]
call fcn.00402688
lea ecx, [ebp - 0x278]
call fcn.00401515
mov byte [ebp - 4], 0x48
push dword [ebp - 0x2b8]
push 0x592e70
lea eax, [ebp - 0x278]
push eax
call fcn.00402933
add esp, 0xc
mov eax, dword [ebp - 0x278]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x288]
call fcn.004026b1
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.004070db
mov byte [ebp - 4], 0x49
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x278]
add ecx, 0xfffffff0
call fcn.004032e4
mov esi, dword [ebp - 0x2a8]
jmp 0x40f892
push ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
push str.INSTALL_ERROR
call fcn.00401485
mov byte [ebp - 4], 0x4a
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
push 0x593270
call fcn.004014cd
mov byte [ebp - 4], 0x4b
push ecx
mov ecx, esp
mov dword [ebp - 0x284], esp
lea eax, [edi + 8]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x4c
push ecx
mov ecx, esp
mov dword [ebp - 0x298], esp
push str.Error_ShellExecuteEx
call fcn.004014cd
mov byte [ebp - 4], 0x4d
push ecx
mov ecx, esp
mov dword [ebp - 0x27c], esp
push 0x5ff544
call fcn.00401452
mov byte [ebp - 4], 0x4e
push ecx
mov ecx, esp
mov dword [ebp - 0x294], esp
lea eax, [edi + 0x10]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x4f
mov byte [ebp - 4], 0x37
call fcn.0041942d
add esp, 0x18
mov eax, dword [0x5ff544]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x288]
call fcn.004026b1
jmp 0x40f892
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x280], esp
push 0x594f88
call fcn.004016bb
mov byte [ebp - 4], 0x50
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x28c], esp
push dword [ebp - 0x2d0]
call fcn.00401695
mov byte [ebp - 4], 0x51
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x37
call fcn.00406d04
add esp, 0x34
mov byte [ebp - 4], 0x52
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
sub eax, ecx
cdq
idiv dword [ebp - 0x284]
cmp eax, 3
jb 0x40f872
cmp dword [ecx + 0x28], ebx
je 0x40f872
add ecx, 0x18
mov dword [ebp - 0x284], ecx
push 0x5952c0
call fcn.0054ff30
pop ecx
push eax
push 0x5952c0
mov eax, dword [ebp - 0x284]
push dword [eax + 0x10]
push ebx
mov ecx, eax
call fcn.00407647
test eax, eax
je 0x40f872
push ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
push str.INSTALL_ERROR
call fcn.00401485
mov byte [ebp - 4], 0x53
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
push 0x593270
call fcn.004014cd
mov byte [ebp - 4], 0x54
push ecx
mov ecx, esp
mov dword [ebp - 0x284], esp
lea eax, [edi + 8]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x55
push ecx
mov ecx, esp
mov dword [ebp - 0x298], esp
push 0x5952c4
call fcn.004014cd
mov byte [ebp - 4], 0x56
push ecx
mov ecx, esp
mov dword [ebp - 0x27c], esp
push 0x5ff544
call fcn.00401452
mov byte [ebp - 4], 0x57
push ecx
mov ecx, esp
mov dword [ebp - 0x294], esp
lea eax, [edi + 0x10]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x58
mov byte [ebp - 4], 0x52
call fcn.0041942d
add esp, 0x18
mov eax, dword [0x5ff544]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x288]
call fcn.004026b1
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x20]
call fcn.0040632b
wait
mov dword [ebp - 4], 0x36
jmp 0x40f974
xor eax, eax
inc eax
cmp dword [edi + 0x24], eax
jne 0x40f9ce
push dword [edi + 4]
push 0x592e70
lea eax, [ebp - 0x2a0]
push eax
call fcn.00402933
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
lea eax, [ebp - 0x2a0]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x60
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
lea eax, [ebp - 0x2a8]
push eax
call fcn.00401452
mov byte [ebp - 4], 0x61
mov byte [ebp - 4], 0x36
call fcn.0041850a
pop ecx
pop ecx
lea eax, [ebp - 0x288]
push eax
mov edi, dword [ebp - 0x2ac]
mov ecx, edi
call fcn.00401452
mov ecx, dword [ebp - 0x274]
or ecx, 4
mov dword [ebp - 0x274], ecx
mov byte [ebp - 4], 0x20
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.004062e5
mov byte [ebp - 4], 0x62
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x290]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2c4]
call fcn.0040632b
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x44]
call fcn.00401d18
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2d0]
call fcn.0040632b
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x29c]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov byte [ebp - 4], 0x64
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x2a4]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov byte [ebp - 4], 0x65
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x288]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov byte [ebp - 4], 0x66
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x2a0]
lea ecx, [ecx - 0x10]
call fcn.004032e4
mov dword [ebp - 4], 0x67
jmp 0x40f2a3
call fcn.00550d8e
ret