Function at 0x449b80
Capabilities:
Check for time delay via gettickcount
Check if file exists
Contain obfuscated stackstrings
Enumerate processes
Get process image filename
Terminate process
Terminate process by name

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4dc4cf
mov eax, dword fs:[0]
push eax
sub esp, 0x9d8
mov eax, dword [0x540c80]
xor eax, esp
mov dword [esp + 0x9d0], eax
push ebx
push esi
push edi
mov eax, dword [0x540c80]
xor eax, esp
push eax
lea eax, [esp + 0x9e8]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x10], ebx
mov esi, dword [0x545d90]
mov ecx, 0x13
lea edx, [esi + 1]
lea eax, [esi + 2]
imul eax, edx
imul eax, esi
cdq
idiv ecx
cmp edx, 4
jne 0x449beb
inc dword [0x546e20]
xor eax, eax
push 0x206
push eax
mov word [esp + 0x3cc], ax
lea eax, [esp + 0x3ce]
push eax
call fcn.004b4a90
add esp, 0xc
mov dword [ebx + 0xec], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], 0
cmp byte [ebx + 0x8d], 0
je 0x449c4c
mov esi, dword [ebx + 0xf8]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x50]
cmp eax, esi
jb 0x449c4c
test esi, esi
jne 0x44ac01
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
mov dword [esp + 0x14], esi
cmp esi, 0xffffffff
je 0x44b26b
push 0x22c
lea eax, [esp + 0x60]
push 0
push eax
call fcn.004b4a90
add esp, 0xc
lea eax, [esp + 0x5c]
push eax
push esi
mov dword [esp + 0x64], 0x22c
mov dword [esp + 0x30], 0
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x44b22d
lea ecx, [ecx]
mov ecx, dword [0x545d90]
mov eax, 0x63
mov word [esp + 0x3ac], ax
mov eax, 0x6d
mov word [esp + 0x3b4], ax
mov eax, 0x2e
mov word [esp + 0x3b8], ax
xor eax, eax
mov word [esp + 0x3c0], ax
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov ebx, 0x13
idiv ebx
mov dword [esp + 0x3b0], 0x6f0072
cmp edx, 6
jne 0x449d5d
test ecx, ecx
je 0x449d5d
jmp 0x449d00
mov eax, ecx
and eax, 0x80000001
jns 0x449d0e
dec eax
or eax, 0xfffffffe
inc eax
jne 0x449d1b
mov eax, ecx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
jmp 0x449d22
lea ecx, [ecx*2 + 1]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
lea eax, [eax + eax*2]
sub edx, eax
mov dword [0x545d90], ecx
sub edx, 0
je 0x449d4c
sub edx, 2
je 0x449d4f
dec edx
je 0x449d50
jmp 0x449d59
add ecx, 2
inc ecx
add ecx, 2
mov dword [0x545d90], ecx
test ecx, ecx
jne 0x449d00
xor eax, eax
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a0], 7
mov dword [esp + 0x29c], 0
mov word [esp + 0x28c], ax
cmp word [esp + 0x80], ax
jne 0x449da1
xor ecx, ecx
jmp 0x449dbf
lea ecx, [esp + 0x80]
lea edx, [ecx + 2]
jmp 0x449db0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449db0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x294]
call fcn.0044e920
mov dword [esp + 0x9f0], 2
mov eax, 0x65
mov word [esp + 0x3ba], ax
mov word [esp + 0x3b6], ax
lea ecx, [esp + 0x3ac]
mov eax, 0x68
mov dword [esp + 0x3bc], 0x650078
mov word [esp + 0x3ae], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449e16
mov ebx, dword [esp + 0x29c]
sub ecx, edx
sar ecx, 1
cmp dword [esp + 0x2a0], 8
lea edx, [esp + 0x28c]
cmovae edx, dword [esp + 0x28c]
cmp ebx, ecx
mov edi, ecx
cmovb edi, ebx
test edi, edi
je 0x449e6a
lea esi, [esp + 0x3ac]
mov ax, word [edx]
cmp ax, word [esi]
jne 0x449eda
add edx, 2
add esi, 2
dec edi
jne 0x449e55
mov esi, dword [esp + 0x14]
xor eax, eax
test eax, eax
jne 0x449e7d
cmp ebx, ecx
jb 0x449e7d
cmp ebx, ecx
setne al
test eax, eax
je 0x449eec
mov dword [esp + 0x9f0], 0xffffffff
cmp dword [esp + 0x2a0], 8
jb 0x449ea1
push dword [esp + 0x28c]
call fcn.004af5b5
add esp, 4
xor eax, eax
mov word [esp + 0x28c], ax
lea eax, [esp + 0x5c]
push eax
push esi
mov dword [esp + 0x2a8], 7
mov dword [esp + 0x2a4], 0
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x449ca0
jmp 0x44a1de
movzx eax, word [edx]
cmp ax, word [esi]
mov esi, dword [esp + 0x14]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x449e6c
mov esi, dword [esp + 0x10]
cmp dword [esi + 0x190], 1
jne 0x449f03
mov dword [esi + 0x190], 2
mov edi, dword [esp + 0x74]
push edi
push 0
push 0x1fffff
mov dword [esp + 0x34], edi
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ecx, dword [0x545d90]
mov dword [esi + 0xec], eax
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 7
jne 0x449f7c
mov eax, dword [str.g5ggmnO]
mov dword [esp + 0x20], eax
mov eax, dword [0x526960]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x449f51
sub eax, edx
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004aed89
add esp, 4
push eax
call fcn.004afe1b
add esp, 4
mov eax, dword [esi + 0xec]
test eax, eax
je 0x44a11f
test edi, edi
je 0x44a11f
mov edi, dword [sym.imp.PSAPI.DLL_GetProcessImageFileNameW]
push 0x104
lea ecx, [esp + 0x3c8]
push ecx
push eax
call edi
test eax, eax
je 0x44aca0
cmp word [esp + 0x3c4], 0
jne 0x449fbf
xor ecx, ecx
jmp 0x449fdf
lea ecx, [esp + 0x3c4]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449fd0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [esp + 0x3c8]
push eax
lea ecx, [esp + 0x294]
call fcn.0044e920
mov eax, dword [esp + 0x29c]
push 0xffffffffffffffff
add eax, 0xfffffff6
push eax
lea eax, [esp + 0x324]
push eax
lea ecx, [esp + 0x298]
call fcn.0044e2f0
mov byte [esp + 0x9f0], 9
lea ecx, [esp + 0x3ac]
push ecx
mov ecx, eax
call fcn.0044e370
test eax, eax
setne bl
mov byte [esp + 0x9f0], 2
cmp dword [esp + 0x330], 8
jb 0x44a052
push dword [esp + 0x31c]
call fcn.004af5b5
add esp, 4
xor eax, eax
mov dword [esp + 0x330], 7
mov dword [esp + 0x32c], 0
mov word [esp + 0x31c], ax
test bl, bl
je 0x44a19a
push dword [esi + 0xec]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x64]
push eax
push 0
push 0x1fffff
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [esi + 0xec], eax
test eax, eax
je 0x44ac65
push 0x104
lea ecx, [esp + 0x3c8]
push ecx
push eax
call edi
test eax, eax
je 0x44ac2a
mov esi, dword [0x545d90]
mov ecx, 0x12
lea eax, [esi + 1]
imul eax, esi
cdq
idiv ecx
cmp edx, 0xf
jne 0x44a19a
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x141]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004aed89
add esp, 4
push eax
call fcn.004afe1b
add esp, 4
jmp 0x44a19a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [esp + 0x64]
push eax
push 0
push 0x1fffff
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
mov dword [esi + 0xec], edi
mov esi, dword [0x545d90]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0xd
idiv ecx
cmp edx, 2
jne 0x44a176
lea ecx, [edx - 1]
cmp esi, ecx
jle 0x44a170
mov eax, esi
cdq
idiv ecx
inc ecx
add ecx, edx
cmp ecx, esi
jl 0x44a164
mov dword [0x545d90], ecx
test edi, edi
je 0x44ad16
push 0x104
lea eax, [esp + 0x3c8]
push eax
push edi
call dword [sym.imp.PSAPI.DLL_GetProcessImageFileNameW]
test eax, eax
je 0x44acdb
mov dword [esp + 0x9f0], 0xffffffff
cmp dword [esp + 0x2a0], 8
jb 0x44a1be
push dword [esp + 0x28c]
call fcn.004af5b5
add esp, 4
mov esi, dword [esp + 0x14]
xor eax, eax
mov word [esp + 0x28c], ax
mov dword [esp + 0x29c], eax
mov dword [esp + 0x2a0], 7
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0xec]
cmp eax, 0xffffffff
je 0x44a1f1
test eax, eax
jne 0x44a1fd
push dword [ebx + 0xf4]
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebx + 0xec]
test eax, eax
je 0x449c27
cmp eax, 0xffffffff
je 0x449c27
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea edx, [esp + 0x14]
mov ecx, eax
call fcn.00442b60
test eax, eax
je 0x44a250
cmp dword [esp + 0x14], 0
je 0x44a250
mov ecx, dword [esp + 0x28]
call fcn.00442bd0
test al, al
jne 0x44ada1
mov eax, dword [0x5406d8]
mov ecx, 0x5406d8
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0x9f0], 0x1c
mov eax, dword [0x5406d8]
mov ecx, 0x5406d8
mov dword [esp + 0x14], 0
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x9f0], 0x1e
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.0043c2a0
test al, al
jne 0x44a38f
mov edx, dword [esp + 0x18]
mov ecx, 1
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, 0x104
or eax, ecx
jge 0x44a2d2
push 0x104
lea ecx, [esp + 0x1c]
call fcn.00402850
mov edx, dword [esp + 0x18]
cmp dword [edx - 8], 0x104
jl 0x44ae5c
push 0x104
mov dword [edx - 0xc], 0x104
mov eax, dword [esp + 0x1c]
xor ecx, ecx
push edx
push ecx
mov word [eax + 0x208], cx
push dword [ebx + 0xec]
call dword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
mov ecx, dword [esp + 0x1c]
mov esi, esp
add ecx, 0xfffffff0
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], esp
mov dword [esp + 0x3c], esi
call fcn.004028c0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x9f4], 0x20
mov byte [esp + 0x9f4], 0x1e
lea ecx, [esp + 0x4c]
call fcn.00440420
add esp, 4
mov byte [esp + 0x9f0], 0x21
push eax
lea ecx, [esp + 0x20]
call fcn.004026b0
mov byte [esp + 0x9f0], 0x1e
mov edx, dword [esp + 0x48]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44a380
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
jmp 0x44a53f
push ecx
lea eax, [esp + 0x3c8]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.004025a0
mov byte [esp + 0x9f4], 0x23
mov byte [esp + 0x9f4], 0x1e
lea ecx, [esp + 0x58]
call fcn.00440420
add esp, 4
mov byte [esp + 0x9f0], 0x24
push eax
lea ecx, [esp + 0x20]
call fcn.004026b0
mov byte [esp + 0x9f0], 0x1e
mov edx, dword [esp + 0x54]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44a3f7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [0x545d90]
mov edi, eax
lea eax, [esi + 1]
imul eax, esi
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 5
jne 0x44a453
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x63]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004aed89
add esp, 4
push eax
call fcn.004afe1b
add esp, 4
call fcn.00444600
push eax
lea ecx, [esp + 0x20]
call fcn.00403990
test eax, eax
jne 0x44a539
mov edx, dword [esp + 0x18]
mov ecx, 1
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, 0x104
or ecx, eax
jge 0x44a494
push 0x104
lea ecx, [esp + 0x1c]
call fcn.00402850
mov edx, dword [esp + 0x18]
cmp dword [edx - 8], 0x104
jl 0x44ae5c
push 0x104
mov dword [edx - 0xc], 0x104
mov eax, dword [esp + 0x1c]
xor ecx, ecx
push edx
push ecx
mov word [eax + 0x208], cx
push dword [ebx + 0xec]
call dword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
mov ecx, dword [esp + 0x1c]
mov esi, esp
lea ecx, [ecx - 0x10]
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], esp
mov dword [esp + 0x30], esi
call fcn.004028c0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x9f4], 0x27
mov byte [esp + 0x9f4], 0x1e
lea ecx, [esp + 0x50]
call fcn.00440420
add esp, 4
mov byte [esp + 0x9f0], 0x28
push eax
lea ecx, [esp + 0x20]
call fcn.004026b0
mov byte [esp + 0x9f0], 0x1e
lea ecx, [esp + 0x4c]
call fcn.00402650
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
jmp 0x44a53f
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [esp + 0x1c]
cmp dword [eax - 0xc], 0
je 0x44a560
call fcn.00444600
push eax
lea ecx, [esp + 0x20]
call fcn.00403990
test eax, eax
jne 0x44b124
xor ebx, ebx
cmp edi, 0x714
jne 0x44a5af
lea ecx, [esp + 0x58]
call fcn.00440c70
mov byte [esp + 0x9f0], 0x29
push eax
lea ecx, [esp + 0x20]
call fcn.004026b0
mov byte [esp + 0x9f0], 0x1e
mov edx, dword [esp + 0x58]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44a5ab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call esi
mov ebx, eax
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
je 0x44a5d0
call fcn.00444600
push eax
lea ecx, [esp + 0x20]
call fcn.00403990
test eax, eax
jne 0x44b120
mov esi, dword [0x545d90]
lea ecx, [esi + 1]
lea eax, [esi + 2]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0x15
idiv ecx
cmp edx, 0xa
jne 0x44a5ff
test esi, esi
mov eax, 1
cmove esi, eax
mov dword [0x545d90], esi
mov ecx, dword [esp + 0x10]
lea eax, [esi + 2]
mov dword [ecx + 0xec], 0
lea ecx, [esi + 1]
imul eax, ecx
imul eax, esi
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 9
jne 0x44a647
push 4
call fcn.004afe4a
add esp, 4
mov esi, eax
call fcn.004aff67
push esi
mov dword [esi], eax
mov dword [0x545d90], eax
call fcn.004af5b5
add esp, 4
mov edx, ebx
lea ecx, [esp + 0x2a4]
call fcn.00443340
mov ebx, eax
mov byte [esp + 0x9f0], 0x2b
mov edx, edi
lea ecx, [esp + 0x2d4]
call fcn.00443340
mov edi, eax
mov byte [esp + 0x9f0], 0x2c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x2ec]
call fcn.00443340
mov esi, eax
mov byte [esp + 0x9f0], 0x2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [esp + 0x304]
call fcn.00443340
mov byte [esp + 0x9f0], 0x2e
push 0x5269a0
mov edx, eax
lea ecx, [esp + 0x368]
call fcn.00429be0
add esp, 4
mov byte [esp + 0x9f0], 0x2f
push esi
mov edx, eax
lea ecx, [esp + 0x380]
call fcn.0044efa0
add esp, 4
mov byte [esp + 0x9f0], 0x30
push 0x526968
mov edx, eax
lea ecx, [esp + 0x350]
call fcn.00429be0
add esp, 4
mov byte [esp + 0x9f0], 0x31
push edi
mov edx, eax
lea ecx, [esp + 0x338]
call fcn.0044efa0
add esp, 4
mov byte [esp + 0x9f0], 0x32
push 0x526964
mov edx, eax
lea ecx, [esp + 0x398]
call fcn.00429be0
add esp, 4
mov byte [esp + 0x9f0], 0x33
push ebx
mov edx, eax
lea ecx, [esp + 0x2c0]
call fcn.0044efa0
add esp, 4
mov byte [esp + 0x9f0], 0x35
cmp dword [esp + 0x3a8], 0x10
jb 0x44a76e
push dword [esp + 0x394]
call fcn.004af5b5
add esp, 4
mov dword [esp + 0x3a8], 0xf
mov dword [esp + 0x3a4], 0
mov byte [esp + 0x394], 0
mov byte [esp + 0x9f0], 0x36
cmp dword [esp + 0x348], 0x10
jb 0x44a7ad
push dword [esp + 0x334]
call fcn.004af5b5
add esp, 4
mov dword [esp + 0x348], 0xf
mov dword [esp + 0x344], 0
mov byte [esp + 0x334], 0
mov byte [esp + 0x9f0], 0x37
cmp dword [esp + 0x360], 0x10
jb 0x44a7ec
push dword [esp + 0x34c]
call fcn.004af5b5
add esp, 4
mov dword [esp + 0x360], 0xf
mov dword [esp + 0x35c], 0
mov byte [esp + 0x34c], 0
mov byte [esp + 0x9f0], 0x38
cmp dword [esp + 0x390], 0x10
jb 0x44a82b
push dword [esp + 0x37c]
call fcn.004af5b5
add esp, 4
mov dword [esp + 0x390], 0xf
mov dword [esp + 0x38c], 0
mov byte [esp + 0x37c], 0
mov byte [esp + 0x9f0], 0x39
cmp dword [esp + 0x378], 0x10
jb 0x44a86a
push dword [esp + 0x364]
call fcn.004af5b5
add esp, 4
mov dword [esp + 0x378], 0xf
mov dword [esp + 0x374], 0
mov byte [esp + 0x364], 0
mov byte [esp + 0x9f0], 0x3a
cmp dword [esp + 0x318], 0x10
jb 0x44a8a9
push dword [esp + 0x304]
call fcn.004af5b5
add esp, 4
mov dword [esp + 0x318], 0xf
mov dword [esp + 0x314], 0
mov byte [esp + 0x304], 0
mov byte [esp + 0x9f0], 0x3b
cmp dword [esp + 0x300], 0x10
jb 0x44a8e8
push dword [esp + 0x2ec]
call fcn.004af5b5
add esp, 4
mov dword [esp + 0x300], 0xf
mov dword [esp + 0x2fc], 0
mov byte [esp + 0x2ec], 0
mov byte [esp + 0x9f0], 0x3c
cmp dword [esp + 0x2e8], 0x10
jb 0x44a927
push dword [esp + 0x2d4]
call fcn.004af5b5
add esp, 4
mov dword [esp + 0x2e8], 0xf
mov dword [esp + 0x2e4], 0
mov byte [esp + 0x2d4], 0
mov byte [esp + 0x9f0], 0x3d
cmp dword [esp + 0x2b8], 0x10
jb 0x44a966
push dword [esp + 0x2a4]
call fcn.004af5b5
add esp, 4
mov ecx, dword [esp + 0x44]
mov eax, ecx
inc ecx
mov dword [esp + 0x2b8], 0xf
mov dword [esp + 0x2b4], 0
mov byte [esp + 0x2a4], 0
mov dword [esp + 0x44], ecx
cmp eax, 5
jge 0x44b1f7
mov edi, dword [0x545d90]
mov ecx, 0xf
lea eax, [edi + 1]
imul eax, edi
cdq
idiv ecx
cmp edx, 1
jne 0x44aa0a
mov eax, edi
cdq
sub eax, edx
lea esi, [ecx + 0x16]
xor ecx, ecx
mov ebx, eax
sar ebx, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ebx
test ebx, ebx
jle 0x44aa01
mov eax, edi
cdq
and edx, 3
lea edi, [edx + eax]
sar edi, 2
xor edx, edx
lea esp, [esp]
test edi, edi
jle 0x44a9f2
mov eax, edx
mov ecx, edi
add esi, eax
dec eax
dec ecx
jne 0x44a9e8
mov ecx, dword [esp + 0x14]
add edx, ecx
dec ebx
jne 0x44a9e0
mov ebx, dword [esp + 0x28]
mov edi, dword [0x545d90]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, esi
jl 0x44a9c7
cmp dword [esp + 0x2d0], 0x10
lea eax, [esp + 0x2bc]
cmovae eax, dword [esp + 0x2bc]
push eax
lea ecx, [esp + 0x44]
call fcn.00403560
mov byte [esp + 0x9f0], 0x3e
call fcn.00446b50
push eax
lea ecx, [esp + 0x38]
call fcn.004025a0
mov byte [esp + 0x9f0], 0x3f
lea ecx, [esp + 0x40]
push ecx
mov edx, eax
lea ecx, [esp + 0x40]
call fcn.0040f160
add esp, 4
mov byte [esp + 0x9f0], 0x40
mov eax, dword [eax]
mov ebx, dword [esp + 0x10]
push dword [eax - 0xc]
lea ecx, [ebx + 0xe0]
push eax
call fcn.0040fe40
mov byte [esp + 0x9f0], 0x3f
mov edx, dword [esp + 0x3c]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44aaa0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x9f0], 0x3e
mov edx, dword [esp + 0x34]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44aac6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x9f0], 0x3d
mov edx, dword [esp + 0x40]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44aaec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx + 0xf4]
cdq
sub eax, edx
sar eax, 1
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [0x545d90]
lea ecx, [ebx + 2]
lea eax, [ebx + 1]
imul ecx, eax
imul ecx, ebx
and ecx, 0x80000003
jns 0x44ab1d
dec ecx
or ecx, 0xfffffffc
inc ecx
cmp ecx, 3
jne 0x44ab66
xor edx, edx
mov dword [esp + 0x14], edx
lea edi, [esp + 0x5cc]
nop
xor ecx, ecx
mov eax, ebx
inc ecx
cdq
xor esi, esi
idiv ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
lea ecx, [esi + 1]
mov esi, ecx
cmp esi, 0x10
jl 0x44ab42
mov ecx, dword [esp + 0x2c]
add edi, 0x10
cmp ecx, 0xd
jl 0x44ab32
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, 5
jl 0x44ab30
mov byte [esp + 0x9f0], 0x1e
cmp dword [esp + 0x2d0], 0x10
jb 0x44ab87
push dword [esp + 0x2bc]
call fcn.004af5b5
add esp, 4
mov dword [esp + 0x2d0], 0xf
mov dword [esp + 0x2cc], 0
mov byte [esp + 0x2bc], 0
mov byte [esp + 0x9f0], 0x1c
mov edx, dword [esp + 0x1c]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x44abcb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x9f0], 0xffffffff
mov edx, dword [esp + 0x18]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
mov ebx, dword [esp + 0x10]
test ecx, ecx
jg 0x449c27
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x449c27
mov eax, 1
mov ecx, dword [esp + 0x9e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x9d0]
xor ecx, esp
call fcn.004af5ba
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [esp + 0x2a4]
call fcn.00443340
mov byte [esp + 0x9f0], 0xb
push eax
call fcn.00446a20
push eax
lea ecx, [esp + 0x28]
call fcn.00447760
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [esp + 0x2a4]
call fcn.00443340
mov byte [esp + 0x9f0], 0xa
push eax
call fcn.004475b0
push eax
lea ecx, [esp + 0x28]
call fcn.00447760
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [esp + 0x2a4]
call fcn.00443340
mov byte [esp + 0x9f0], 8
push eax
call fcn.00447380
push eax
lea ecx, [esp + 0x28]
call fcn.00447760
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [esp + 0x2a4]
call fcn.00443340
mov byte [esp + 0x9f0], 7
push eax
call fcn.00445890
push eax
lea ecx, [esp + 0x28]
call fcn.00447760
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [esp + 0x2a4]
call fcn.00443340
mov esi, eax
mov byte [esp + 0x9f0], 3
mov edx, ebx
lea ecx, [esp + 0x2d4]
call fcn.00443340
mov byte [esp + 0x9f0], 4
push 0x526940
mov edx, eax
lea ecx, [esp + 0x2f0]
call fcn.00429be0
add esp, 4
mov byte [esp + 0x9f0], 5
push esi
mov edx, eax
lea ecx, [esp + 0x308]
call fcn.0044efa0
add esp, 4
mov byte [esp + 0x9f0], 6
push eax
call fcn.004463f0
push eax
lea ecx, [esp + 0x28]
call fcn.00447760
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
push ecx
mov ecx, dword [ebx + 0x88]
add ebx, 0x88
mov esi, esp
sub ecx, 0x10
mov dword [esp + 0x3c], esp
mov dword [esp + 0x30], esi
call fcn.004028c0
add eax, 0x10
mov dword [esi], eax
mov dword [esp + 0x9f4], 0xd
push ecx
mov ecx, dword [esp + 0x18]
mov esi, esp
mov ecx, dword [ecx + 0xd8]
sub ecx, 0x10
mov dword [esp + 0x34], esp
mov dword [esp + 0x3c], esi
call fcn.004028c0
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x9f8], 0xf
mov dword [esp + 0x9f8], 0xffffffff
call fcn.00422070
add esp, 8
test al, al
jne 0x44b118
lea ecx, [esp + 0x10]
call fcn.00402540
mov dword [esp + 0x9f0], 0x10
mov ecx, dword [esp + 0x10]
mov edx, 1
mov eax, dword [ecx - 8]
sub edx, dword [ecx - 4]
sub eax, 0x104
or eax, edx
jge 0x44ae53
push 0x104
lea ecx, [esp + 0x14]
call fcn.00402850
mov ecx, dword [esp + 0x10]
cmp dword [ecx - 8], 0x104
jge 0x44ae66
push 0x80070057
call fcn.00401a60
push 0x104
mov dword [ecx - 0xc], 0x104
mov eax, dword [esp + 0x14]
xor edx, edx
push ecx
push edx
mov word [eax + 0x208], dx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x44aec6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [esp + 0x2a4]
call fcn.00443340
mov byte [esp + 0x9f0], 0x11
push eax
call fcn.00445480
push eax
lea ecx, [esp + 0x28]
call fcn.00447760
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.00422ec0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [eax - 0xc]
add eax, 0xfffffffc
push eax
lea eax, [esp + 0x30]
push eax
call fcn.004185a0
mov byte [esp + 0x9f0], 0x12
push 0x526944
mov edx, eax
lea ecx, [esp + 0x18]
call fcn.00418660
add esp, 4
mov byte [esp + 0x9f0], 0x14
lea ecx, [esp + 0x2c]
call fcn.00402650
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push ebx
call fcn.00403500
mov byte [esp + 0x9f4], 0x15
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00403500
mov byte [esp + 0x9f8], 0x16
mov byte [esp + 0x9f8], 0x14
call fcn.00422070
add esp, 8
test al, al
jne 0x44b0f3
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [eax - 0xc]
add eax, 0xfffffffc
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004185a0
mov byte [esp + 0x9f0], 0x17
push 0x52696c
mov edx, eax
lea ecx, [esp + 0x38]
call fcn.00418660
add esp, 4
mov byte [esp + 0x9f0], 0x18
push eax
lea ecx, [esp + 0x18]
call fcn.004026b0
mov byte [esp + 0x9f0], 0x17
lea ecx, [esp + 0x34]
call fcn.00402650
mov byte [esp + 0x9f0], 0x14
lea ecx, [esp + 0x3c]
call fcn.00402650
mov esi, dword [0x545d90]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0xe
idiv ecx
cmp edx, 5
jne 0x44b03b
mov eax, 0x342da7f3
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x9d
mov eax, esi
sub eax, ecx
xor edi, edi
cmp eax, 0x8a
je 0x44b035
mov eax, esi
or eax, 0xffffff60
add esi, eax
mov eax, esi
imul eax, esi
inc edi
cmp edi, eax
jg 0x44b035
mov eax, 0x342da7f3
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x9d
mov eax, esi
sub eax, ecx
cmp eax, 0x8a
jne 0x44b000
mov dword [0x545d90], edi
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push ebx
call fcn.00403500
mov byte [esp + 0x9f4], 0x19
push ecx
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00403500
mov byte [esp + 0x9f8], 0x1a
mov byte [esp + 0x9f8], 0x14
call fcn.00422070
add esp, 8
test al, al
jne 0x44b0a0
push 0x51a8ae
call fcn.00446e70
push eax
lea ecx, [esp + 0x28]
call fcn.00447690
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
mov esi, dword [0x545d90]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0x18
idiv ecx
cmp edx, 2
jne 0x44b0f3
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x64
sub esi, ecx
xor ecx, ecx
lea eax, [esi + 0x63]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004aed89
add esp, 4
push eax
call fcn.004afe1b
add esp, 4
mov byte [esp + 0x9f0], 0x10
lea ecx, [esp + 0x14]
call fcn.00402650
mov dword [esp + 0x9f0], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.00402650
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ebx, dword [esp + 0x10]
push 0x5269a4
lea ecx, [esp + 0x20]
call fcn.00403990
test eax, eax
jne 0x44b1b1
push dword [esp + 0x18]
lea ecx, [esp + 0x14]
mov dword [ebx + 0xec], eax
call fcn.00418360
mov byte [esp + 0x9f0], 0x46
push 0x5c
lea ecx, [esp + 0x14]
call fcn.0044e1a0
push 0x20
lea ecx, [esp + 0x14]
call fcn.0044e1a0
push 0x2f
lea ecx, [esp + 0x14]
call fcn.0044e1a0
mov eax, dword [esp + 0x10]
mov ecx, 1
sub ecx, dword [eax - 4]
or ecx, dword [eax - 8]
jge 0x44b192
push 0
lea ecx, [esp + 0x14]
call fcn.00418e30
mov eax, dword [esp + 0x10]
push eax
call fcn.004468c0
push eax
lea ecx, [esp + 0x28]
call fcn.00447690
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
lea eax, [esp + 0x1c]
push eax
lea ecx, [ebx + 0xc8]
call fcn.004026b0
mov eax, dword [esp + 0x28]
mov dword [ebx + 0xe8], eax
mov byte [esp + 0x9f0], 0x1c
lea ecx, [esp + 0x1c]
call fcn.00402650
mov dword [esp + 0x9f0], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.00402650
xor eax, eax
jmp 0x44ac06
cmp dword [esp + 0x2d0], 0x10
lea eax, [esp + 0x2bc]
cmovae eax, dword [esp + 0x2bc]
push eax
call fcn.00446360
push eax
lea ecx, [esp + 0x28]
call fcn.00447690
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [esp + 0x2a4]
call fcn.00443340
mov dword [esp + 0x9f0], 1
push eax
call fcn.00446200
push eax
lea ecx, [esp + 0x28]
call fcn.00447760
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [esp + 0x2a4]
call fcn.00443340
mov dword [esp + 0x9f0], 0
push eax
call fcn.00446650
push eax
lea ecx, [esp + 0x28]
call fcn.00447760
push 0x52accc
lea eax, [esp + 0x24]
push eax
call fcn.004b74bb
int3