Function at 0x51a248
Capabilities:
Create process on windows
Delete file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x56
push 0
push 0
dec ecx
jne 0x51a251
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
call fcn.00405318
xor eax, eax
push ebp
push 0x51a8ce
push dword fs:[eax]
mov dword fs:[eax], esp
mov bl, 1
mov edx, 0x51a8e0
lea eax, [ebp - 0x58]
call fcn.004036b8
mov eax, dword [ebp - 8]
mov edx, eax
lea eax, [ebp - 0x58]
mov cl, 0x45
call fcn.00403688
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x10]
call fcn.004050fc
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0051ab8c
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00519814
mov eax, dword [ebp - 4]
push eax
push 0x51ab50
lea ecx, [ebp - 0x6c]
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00481b24
lea eax, [ebp - 0x6c]
lea edx, [ebp - 0x5c]
call fcn.00481a7c
mov eax, dword [ebp - 0x5c]
push eax
lea eax, [ebp - 0x70]
mov edx, dword [ebp - 8]
add edx, 0x23a
call fcn.004050fc
mov edx, dword [ebp - 0x70]
pop eax
call fcn.00409afc
test eax, eax
je 0x51a365
mov edx, 0x51a8ec
lea eax, [ebp - 0xb8]
call fcn.004036b8
mov eax, dword [ebp - 8]
mov edx, eax
lea eax, [ebp - 0xb8]
mov cl, 0x41
call fcn.00403688
lea edx, [ebp - 0xb8]
lea eax, [ebp - 0x104]
call fcn.004036b8
mov edx, 0x51a8f4
lea eax, [ebp - 0x104]
mov cl, 0x49
call fcn.00403688
lea edx, [ebp - 0x104]
lea eax, [ebp - 0x74]
call fcn.004050fc
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 4]
call fcn.0051ab8c
xor ebx, ebx
jmp 0x51a868
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x25b]
dec al
je 0x51a380
sub al, 2
je 0x51a4d9
jmp 0x51a842
mov eax, dword [ebp - 8]
cmp byte [eax + 0x130], 0
je 0x51a421
push ebp
lea eax, [ebp - 0x108]
mov edx, dword [ebp - 8]
add edx, 0x3d
call fcn.004050fc
mov eax, dword [ebp - 0x108]
call fcn.0051a0a8
pop ecx
mov ebx, eax
test bl, bl
jne 0x51a842
mov edx, 0x51a900
lea eax, [ebp - 0x150]
call fcn.004036b8
mov eax, dword [ebp - 8]
mov edx, eax
lea eax, [ebp - 0x150]
mov cl, 0x43
call fcn.00403688
lea edx, [ebp - 0x150]
lea eax, [ebp - 0x19c]
call fcn.004036b8
mov edx, 0x51a908
lea eax, [ebp - 0x19c]
mov cl, 0x4a
call fcn.00403688
lea edx, [ebp - 0x19c]
lea eax, [ebp - 0x10c]
call fcn.004050fc
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 4]
call fcn.0051ab8c
jmp 0x51a842
push ebp
mov eax, dword [ebp - 8]
lea edx, [eax + 0x3d]
lea eax, [ebp - 0x230]
call fcn.004036b8
mov eax, dword [ebp - 8]
lea edx, [eax + 0xa2]
lea eax, [ebp - 0x230]
mov cl, 0x8c
call fcn.00403688
lea edx, [ebp - 0x230]
lea eax, [ebp - 0x1a0]
call fcn.004050fc
mov eax, dword [ebp - 0x1a0]
call fcn.0051a1bc
pop ecx
test al, al
jne 0x51a842
xor ebx, ebx
mov edx, 0x51a910
lea eax, [ebp - 0xb8]
call fcn.004036b8
mov eax, dword [ebp - 8]
mov edx, eax
lea eax, [ebp - 0xb8]
mov cl, 0x41
call fcn.00403688
lea edx, [ebp - 0xb8]
lea eax, [ebp - 0x280]
call fcn.004036b8
mov edx, 0x51a918
lea eax, [ebp - 0x280]
mov cl, 0x48
call fcn.00403688
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x234]
call fcn.004050fc
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 4]
call fcn.0051ab8c
jmp 0x51a842
lea eax, [ebp - 0x284]
mov edx, dword [ebp - 8]
add edx, 0xa2
call fcn.004050fc
mov eax, dword [ebp - 0x284]
mov edx, 0x51a928
call fcn.00409afc
test eax, eax
jne 0x51a555
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x51a50d
sub eax, 4
mov eax, dword [eax]
inc eax
call fcn.00402f7c
mov esi, eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x51a521
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0xc]
call fcn.00405388
lea ecx, [ebx + 1]
mov edx, esi
call fcn.004032b8
push esi
push 0
push 0x7eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_SendMessageA
mov eax, esi
call fcn.00402f98
xor ebx, ebx
jmp 0x51a842
lea eax, [ebp - 0x28c]
mov edx, dword [ebp - 8]
add edx, 0xa2
call fcn.004050fc
mov eax, dword [ebp - 0x28c]
lea ecx, [ebp - 0x288]
mov edx, 5
call fcn.0043e820
mov eax, dword [ebp - 0x288]
mov edx, 0x51a938
call fcn.004052c0
jne 0x51a629
lea eax, [ebp - 0x294]
mov edx, dword [ebp - 8]
add edx, 0xa2
call fcn.004050fc
mov eax, dword [ebp - 0x294]
lea ecx, [ebp - 0x290]
mov edx, dword [ebp - 8]
movzx edx, byte [edx + 0xa2]
sub edx, 5
call fcn.0043e83c
mov edx, dword [ebp - 0x290]
mov eax, dword [0x54cc1c]
call fcn.00404eec
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x51a5e3
sub eax, 4
mov eax, dword [eax]
inc eax
call fcn.00402f7c
mov esi, eax
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x51a5f7
sub edi, 4
mov edi, dword [edi]
lea eax, [ebp - 0xc]
call fcn.00405388
lea ecx, [edi + 1]
mov edx, esi
call fcn.004032b8
push esi
push 0
push 0x7ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_SendMessageA
mov eax, esi
call fcn.00402f98
jmp 0x51a842
mov eax, dword [ebp - 8]
cmp byte [eax + 0x130], 0
je 0x51a793
push ebp
lea eax, [ebp - 0x298]
mov edx, dword [ebp - 8]
add edx, 0x3d
call fcn.004050fc
mov eax, dword [ebp - 0x298]
call fcn.0051a0a8
pop ecx
mov ebx, eax
lea eax, [ebp - 0x29c]
mov edx, dword [ebp - 8]
add edx, 0xa2
call fcn.004050fc
mov edx, dword [ebp - 0x29c]
mov eax, 0x51a948
call fcn.00405474
test eax, eax
jg 0x51a6a9
lea eax, [ebp - 0x2a0]
mov edx, dword [ebp - 8]
add edx, 0xa2
call fcn.004050fc
mov edx, dword [ebp - 0x2a0]
mov eax, 0x51a958
call fcn.00405474
test eax, eax
jle 0x51a722
mov eax, dword [ebp - 8]
lea edx, [eax + 0x3d]
lea eax, [ebp - 0x230]
call fcn.004036b8
mov eax, dword [ebp - 8]
lea edx, [eax + 0xa2]
lea eax, [ebp - 0x230]
mov cl, 0x8c
call fcn.00403688
lea edx, [ebp - 0x230]
mov eax, dword [0x54cc1c]
call fcn.004050fc
lea eax, [ebp - 0x2a4]
mov edx, dword [ebp - 8]
add edx, 0xa2
call fcn.004050fc
mov eax, dword [ebp - 0x2a4]
call fcn.00518798
test al, al
jne 0x51a722
push 6
push 0
push 0
mov eax, dword [0x54cc1c]
mov eax, dword [eax]
call fcn.00405328
push eax
push 0x51a960
push 0
call sub.shell32.dll_ShellExecuteA
test bl, bl
jne 0x51a842
mov edx, 0x51a900
lea eax, [ebp - 0x150]
call fcn.004036b8
mov eax, dword [ebp - 8]
mov edx, eax
lea eax, [ebp - 0x150]
mov cl, 0x43
call fcn.00403688
lea edx, [ebp - 0x150]
lea eax, [ebp - 0x19c]
call fcn.004036b8
mov edx, 0x51a908
lea eax, [ebp - 0x19c]
mov cl, 0x4a
call fcn.00403688
lea edx, [ebp - 0x19c]
lea eax, [ebp - 0x2a8]
call fcn.004050fc
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 4]
call fcn.0051ab8c
jmp 0x51a842
push ebp
mov eax, dword [ebp - 8]
lea edx, [eax + 0x3d]
lea eax, [ebp - 0x230]
call fcn.004036b8
mov eax, dword [ebp - 8]
lea edx, [eax + 0xa2]
lea eax, [ebp - 0x230]
mov cl, 0x8c
call fcn.00403688
lea edx, [ebp - 0x230]
lea eax, [ebp - 0x2ac]
call fcn.004050fc
mov eax, dword [ebp - 0x2ac]
call fcn.0051a1bc
pop ecx
test al, al
jne 0x51a842
xor ebx, ebx
mov edx, 0x51a910
lea eax, [ebp - 0xb8]
call fcn.004036b8
mov eax, dword [ebp - 8]
mov edx, eax
lea eax, [ebp - 0xb8]
mov cl, 0x41
call fcn.00403688
lea edx, [ebp - 0xb8]
lea eax, [ebp - 0x280]
call fcn.004036b8
mov edx, 0x51a918
lea eax, [ebp - 0x280]
mov cl, 0x48
call fcn.00403688
lea edx, [ebp - 0x280]
lea eax, [ebp - 0x2b0]
call fcn.004050fc
mov edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 4]
call fcn.0051ab8c
mov eax, dword [ebp - 0xc]
call fcn.00405328
mov edx, eax
lea eax, [ebp - 0x2b4]
call fcn.00405090
mov eax, dword [ebp - 0x2b4]
call fcn.00405328
push eax
call sub.kernel32.dll_DeleteFileA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51a8d5
lea eax, [ebp - 0x2b4]
mov edx, 0xd
call fcn.00404ebc
lea eax, [ebp - 0x234]
call fcn.00404e98
lea eax, [ebp - 0x1a0]
call fcn.00404e98
lea eax, [ebp - 0x10c]
mov edx, 2
call fcn.00404ebc
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.00404ebc
lea eax, [ebp - 0x5c]
call fcn.00404e98
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00404ebc
ret