Function at 0x404bb1
Capabilities:
Contain obfuscated stackstrings
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov dword [ebp - 0x78], 1
mov dword [ebp - 0x3c], 1
mov byte [ebp - 0x74], 0x77
mov byte [ebp - 0x64], 0x55
mov byte [ebp - 0x63], 0x73
mov byte [ebp - 0x73], 0x73
mov byte [ebp - 0x72], 0x70
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x62], 0x65
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x71], 0x72
mov byte [ebp - 0x70], 0x69
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x44], 1
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x40], 0
mov byte [ebp - 0x61], 0x72
cmp dword [ebp - 0x28], 0
jne 0x404c55
mov eax, dword [ebp - 0x10]
mov cl, byte [ebp - 0x3c]
mov byte [eax], cl
mov edx, dword [ebp - 0x10]
mov al, byte [ebp - 0x18]
mov byte [edx + 1], al
mov byte [ebp - 0x6f], 0x6e
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x38]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x34], 0x65
mov ecx, dword [ebp - 0xc]
sub ecx, 3
mov dword [ebp - 4], ecx
mov byte [ebp - 0x6e], 0x74
mov byte [ebp - 0x33], 0x72
mov edx, dword [ebp - 4]
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x32], 0x72
cmp dword [ebp - 0x14], 0
jne 0x404cc4
mov ecx, dword [ebp - 0x68]
mov dl, byte [ebp - 0x78]
mov byte [ecx], dl
mov eax, dword [ebp - 0x68]
mov cl, byte [ebp - 0x40]
mov byte [eax + 1], cl
mov byte [ebp - 0x54], 0x65
mov byte [ebp - 0x6d], 0x66
mov byte [ebp - 0x6c], 0x41
mov byte [ebp - 0x31], 0
mov byte [ebp - 0x60], 0x33
mov byte [ebp - 0x53], 0x72
mov byte [ebp - 0x6b], 0
mov byte [ebp - 0x5f], 0x32
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x48], edx
mov byte [ebp - 0x5e], 0x2e
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x5d], 0x64
mov byte [ebp - 0x5c], 0x6c
cmp dword [ebp - 0x48], 0
jne 0x404d23
lea ecx, [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x5b], 0x6c
mov byte [ebp - 0x52], 0x72
mov byte [ebp - 0x5a], 0
mov byte [ebp - 0x51], 0
lea edx, [ebp - 0x64]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x40cb3c], eax
cmp dword [0x40cb3c], 0
jne 0x404dcf
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x88], 0
mov byte [ebp - 0x94], 0x65
mov dword [ebp - 0x84], 0
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x7c], ecx
mov byte [ebp - 0x93], 0x72
mov byte [ebp - 0x92], 0x72
cmp dword [ebp - 0x88], 0
jne 0x404dc1
mov edx, dword [ebp - 0x80]
mov al, byte [ebp - 0x98]
mov byte [edx], al
mov ecx, dword [ebp - 0x80]
mov dl, byte [ebp - 0x84]
mov byte [ecx + 1], dl
mov byte [ebp - 0x91], 0
xor eax, eax
jmp 0x405079
cmp dword [ebp - 0x48], 0
je 0x404de9
mov ecx, dword [ebp - 0x48]
mov byte [ecx], 0x61
mov edx, dword [ebp - 0x48]
mov byte [edx + 1], 0x62
mov eax, dword [ebp - 0x48]
mov byte [eax + 2], 0
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x58], ecx
lea edx, [ebp - 0x74]
push edx
mov eax, dword [0x40cb3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x40cb40], eax
cmp dword [0x40cb40], 0
jne 0x404f2e
mov dword [ebp - 0xbc], 1
mov byte [ebp - 0xb8], 0x65
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov byte [ebp - 0xb7], 0x72
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0xa4], ecx
mov byte [ebp - 0xb6], 0x72
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xa0], edx
mov byte [ebp - 0xb5], 0
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jne 0x404eb8
lea ecx, [ebp - 0xb8]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp - 0xc0], 0
je 0x404ede
mov edx, dword [ebp - 0xc0]
mov byte [edx], 0x61
mov eax, dword [ebp - 0xc0]
mov byte [eax + 1], 0x62
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 2], 0
cmp dword [ebp - 0xac], 0
jne 0x404f04
mov edx, dword [ebp - 0xa4]
mov al, byte [ebp - 0xbc]
mov byte [edx], al
mov ecx, dword [ebp - 0xa4]
mov dl, byte [ebp - 0xa8]
mov byte [ecx + 1], dl
cmp dword [ebp - 0xc0], 0
je 0x404f1a
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0xa0]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x405079
cmp dword [ebp - 0x20], 0
je 0x40502a
mov dword [ebp - 0xe0], 1
mov dword [ebp - 0xcc], 1
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xd0], 0
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe4], 0
jne 0x404fae
mov ecx, dword [ebp - 0xdc]
mov dl, byte [ebp - 0xe0]
mov byte [ecx], dl
mov eax, dword [ebp - 0xdc]
mov cl, byte [ebp - 0xd0]
mov byte [eax + 1], cl
mov edx, dword [ebp - 0xe8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xc8], 0
jne 0x40501d
mov edx, dword [ebp - 0xd8]
mov al, byte [ebp - 0xcc]
mov byte [edx], al
mov ecx, dword [ebp - 0xd8]
mov dl, byte [ebp - 0xc4]
mov byte [ecx + 1], dl
mov eax, dword [ebp - 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp - 0x48], 0
je 0x40503a
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp - 0x58], 0
jne 0x40504a
lea edx, [ebp - 0x54]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp - 0x58], 0
je 0x405064
mov eax, dword [ebp - 0x58]
mov byte [eax], 0x61
mov ecx, dword [ebp - 0x58]
mov byte [ecx + 1], 0x62
mov edx, dword [ebp - 0x58]
mov byte [edx + 2], 0
cmp dword [ebp - 0x58], 0
je 0x405074
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 1
mov esp, ebp
pop ebp
ret