Function at 0x502f58
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x49
push 0
push 0
dec ecx
jne 0x502f60
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x503e92
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
xor edx, edx
call fcn.004650f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
call fcn.004637d0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov ecx, 0x50
cdq
idiv ecx
cmp edx, 0x40
jne 0x502fff
mov eax, dword [ebp - 4]
call fcn.004da624
cmp eax, 1
je 0x502fe4
cmp eax, 0x64
jge 0x502fff
mov eax, dword [0x50e840]
mov dword [eax + 0x15590], 0x19
mov eax, dword [0x50e840]
mov byte [eax + 0x1558c], 0xb
jmp 0x502fff
mov eax, dword [0x50e840]
mov dword [eax + 0x15590], 0x2712
mov eax, dword [0x50e840]
mov byte [eax + 0x1558c], 0xe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
call fcn.004637d0
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x15590]
jge 0x503ce0
xor eax, eax
push ebp
push 0x50306d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
call fcn.004637d0
add eax, 2
push eax
mov eax, dword [ebp - 4]
add eax, 0x15194
mov ecx, 1
mov edx, dword [0x4b8dac]
call fcn.00405afc
add esp, 4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x503099
mov eax, dword [ebp - 4]
call fcn.004dcbd8
lea edx, [ebp - 0x1f4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5f0]
call fcn.00435428
mov eax, dword [ebp - 0x1f4]
mov edx, 0x503ec0
call fcn.0040405c
jne 0x503104
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8a4]
mov dl, 1
call fcn.00435340
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8a4]
call fcn.0043566c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
xor edx, edx
call fcn.00435340
lea eax, [ebp - 0x14]
mov edx, 0x503ecc
call fcn.00403d64
jmp 0x503140
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
mov dl, 1
call fcn.00435340
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8dc]
call fcn.0043566c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
call fcn.0043566c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8a4]
xor edx, edx
call fcn.00435340
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x14aa0]
test ebx, ebx
je 0x50328b
lea ecx, [ebp - 0x1fc]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x144b4]
mov eax, ebx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1fc]
lea edx, [ebp - 0x1f8]
call fcn.00409868
mov eax, dword [ebp - 0x1f8]
lea edx, [ebp - 0x1c]
call fcn.004090d8
lea ecx, [ebp - 0x200]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x144b4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14aa0]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x200]
lea edx, [ebp - 0x14]
call fcn.00409830
mov eax, dword [ebp - 0x1c]
mov edx, 0x503edc
call fcn.0040405c
jne 0x50328b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x161e6], 1
jne 0x50328b
lea ecx, [ebp - 0x204]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x144b4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14aa0]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x204]
lea eax, [ebp - 0x1f0]
call fcn.0040649a
lea eax, [ebp - 0x1f0]
call fcn.004068bb
call fcn.00402874
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x1f0]
call fcn.0040430c
lea eax, [ebp - 0x1f0]
call fcn.00406858
call fcn.00402874
jmp 0x503250
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x1f0]
call fcn.0040430c
lea eax, [ebp - 0x1f0]
call fcn.00406858
call fcn.00402874
lea edx, [ebp - 0x208]
mov eax, dword [ebp - 0x14]
call fcn.00409274
cmp dword [ebp - 0x208], 0
jne 0x50327b
lea eax, [ebp - 0x1f0]
call fcn.00406694
call fcn.00402874
test al, al
je 0x503232
lea eax, [ebp - 0x1f0]
call fcn.00406604
call fcn.00402874
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
cmp byte [eax + 0x47], 1
jne 0x5033bd
mov eax, dword [ebp - 4]
cmp dword [eax + 0x14aa0], 0
jne 0x5033bd
xor ebx, ebx
xor esi, esi
jmp 0x5032f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
mov edx, esi
call fcn.00474b68
lea eax, [eax + esi + 1]
mov esi, eax
lea ecx, [ebp - 0x20c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
mov eax, dword [eax + 0x23c]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x20c]
lea edx, [ebp - 0x14]
call fcn.00409274
inc ebx
cmp dword [ebp - 0x14], 0
jne 0x503313
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
mov eax, dword [eax + 0x23c]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x5032b4
dec esi
test esi, esi
jle 0x5033bd
xor eax, eax
push ebp
push 0x5033b3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0xc4]
call fcn.004304d0
lea edx, [ebp - 0x24]
call fcn.004300f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
call fcn.0042c114
call fcn.004304d0
lea edx, [ebp - 0x210]
call fcn.004300f0
mov eax, dword [ebp - 0x210]
lea edx, [ebp - 0x14]
call fcn.00409274
call fcn.004304d0
mov edx, dword [ebp - 0x24]
call fcn.00430170
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0xc4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5033bd
mov eax, dword [ebp - 0x14]
mov edx, 0x503ecc
call fcn.0040405c
jne 0x50349d
lea edx, [ebp - 0x214]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14aac]
call fcn.004090d8
mov edx, dword [ebp - 0x214]
mov eax, 0x503eec
call fcn.00404238
test eax, eax
jle 0x50349d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x14aa0], 0
je 0x50349d
xor eax, eax
push ebp
push 0x503493
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x218]
call fcn.00404390
push eax
lea eax, [ebp - 0x21c]
call fcn.00406178
push eax
lea ecx, [ebp - 0x220]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8d8]
mov edx, 0xcb
call fcn.00478b58
mov eax, dword [ebp - 0x220]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.00406274
mov eax, dword [ebp - 0x21c]
push eax
mov eax, dword [eax]
call dword [eax + pe_nt_image_headers32]
call fcn.00406274
mov edx, dword [ebp - 0x218]
lea eax, [ebp - 0x18]
call fcn.00403f14
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x18]
call fcn.00403d64
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x50349d
lea edx, [ebp - 0x224]
mov eax, dword [ebp - 0x14]
call fcn.00409274
mov edx, dword [ebp - 0x224]
lea eax, [ebp - 0x14]
call fcn.00403d64
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x50
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404154
lea eax, [ebp - 0x20]
call fcn.00403ccc
xor edi, edi
mov eax, dword [ebp - 0x14]
call fcn.00403f4c
mov esi, eax
test esi, esi
jle 0x503613
mov ebx, 1
lea eax, [ebp - 0x1c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x14]
call fcn.00404154
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
cmp al, 0x80
jbe 0x50350d
inc edi
mov eax, edi
and eax, 0x80000001
jns 0x50351b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x503532
lea eax, [ebp - 0x20]
push eax
mov ecx, 2
mov edx, ebx
mov eax, dword [ebp - 0x14]
call fcn.00404154
mov eax, dword [ebp - 0x1c]
mov edx, 0x503efc
call fcn.0040405c
je 0x5035cc
mov eax, dword [ebp - 0x1c]
mov edx, 0x503f08
call fcn.0040405c
je 0x5035cc
mov eax, dword [ebp - 0x1c]
mov edx, 0x503f14
call fcn.0040405c
je 0x5035cc
mov eax, dword [ebp - 0x1c]
mov edx, 0x503f20
call fcn.0040405c
je 0x5035cc
mov eax, dword [ebp - 0x1c]
mov edx, 0x503f2c
call fcn.0040405c
je 0x5035cc
mov eax, dword [ebp - 0x1c]
mov edx, 0x503f38
call fcn.0040405c
je 0x5035cc
mov eax, dword [ebp - 0x20]
mov edx, 0x503f44
call fcn.0040405c
je 0x5035cc
mov eax, dword [ebp - 0x20]
mov edx, 0x503f50
call fcn.0040405c
je 0x5035cc
mov eax, dword [ebp - 0x20]
mov edx, 0x503f5c
call fcn.0040405c
je 0x5035cc
mov eax, dword [ebp - 0x20]
mov edx, 0x503f68
call fcn.0040405c
jne 0x50360b
mov eax, edi
and eax, 0x80000001
jns 0x5035da
dec eax
or eax, 0xfffffffe
inc eax
dec eax
jne 0x5035f5
lea eax, [ebp - 0x14]
push eax
mov ecx, ebx
sub ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404154
jmp 0x503613
lea eax, [ebp - 0x14]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404154
jmp 0x503613
inc ebx
dec esi
jne 0x5034f0
and edi, 0x80000001
jns 0x503620
dec edi
or edi, 0xfffffffe
inc edi
dec edi
jne 0x50363f
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x14]
call fcn.00403f4c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404154
cmp dword [ebp - 0x14], 0
jne 0x503652
lea eax, [ebp - 0x14]
mov edx, 0x503ecc
call fcn.00403d64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
call fcn.00463d50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
call fcn.004637d0
test eax, eax
jne 0x50369f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
mov ecx, dword [ebp - 0x14]
xor edx, edx
call fcn.00463870
mov dword [ebp - 0xc], eax
jmp 0x50373f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x15590]
cmp eax, dword [ebp - 0x10]
jle 0x50373f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
call fcn.00465370
mov dword [ebp - 0xc], eax
cmp dword [ebp - 8], 2
jne 0x5036fd
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x14], 3
jge 0x5036de
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00462a70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
call fcn.00463854
mov dword [ebp - 0xc], eax
jmp 0x50373f
cmp dword [ebp - 8], 1
jne 0x503722
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
call fcn.00463870
mov dword [ebp - 0xc], eax
jmp 0x50373f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
call fcn.004638f8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
call fcn.00463028
mov edx, dword [ebp - 4]
mov dword [edx + 0x14fe0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov edx, dword [ebp - 0xc]
call fcn.004653b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
call fcn.004637d0
mov ebx, eax
sub ebx, 2
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x14fe0]
sub esi, ebx
jg 0x5037b5
dec esi
mov eax, ebx
shl eax, 3
sub eax, ebx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x15194]
push esi
lea esi, [edx + eax*8]
lea edi, [ecx + eax*8 + 0x38]
mov ecx, 0xe
rep movsd dword es:[edi], dword [esi]
pop esi
dec ebx
inc esi
jne 0x503788
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
xor ecx, ecx
mov dword [edx + eax*8 + 0x2c], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x948]
mov eax, dword [eax + 0x20c]
call fcn.00468650
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x978]
call fcn.0044177c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x97c]
call fcn.0044177c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
xor ecx, ecx
mov dword [edx + eax*8 + 0x30], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0x34], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
xor ecx, ecx
mov dword [edx + eax*8 + 0x18], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
xor ecx, ecx
mov dword [edx + eax*8 + 0x1c], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0x21], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
xor ecx, ecx
mov dword [edx + eax*8 + 0x24], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
xor ecx, ecx
mov dword [edx + eax*8 + 0x10], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0x29], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
xor ecx, ecx
mov dword [edx + eax*8 + 8], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
xor ecx, ecx
mov dword [edx + eax*8 + 4], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0xd], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0xf], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0x28], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0x20], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov ecx, dword [ebp - 4]
mov cl, byte [ecx + 0x161d9]
add cl, 2
mov byte [edx + eax*8 + 0x14], cl
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x14fe0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
call fcn.00463c38
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x14fe0]
mov ecx, edx
shl edx, 3
sub edx, ecx
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x15194]
movzx edx, byte [ecx + edx*8 + 0x14]
call fcn.00462a70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
cmp byte [eax + 0x2c], 0
jne 0x503a63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0x21], 0xa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
cmp byte [eax + 0x47], 1
jne 0x503ac8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1444b], 0
jne 0x503a94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60c]
mov eax, dword [eax + 0x23c]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 4]
mov byte [eax + 0x1444b], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x14400], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0xe], 0
jmp 0x503ae6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14fe0]
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x15194]
mov byte [edx + eax*8 + 0xe], 0xa
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x14aa0]
test ebx, ebx
jne 0x503b52
mov eax, dword [ebp - 4]
cmp byte [eax + 0x144c1], 0
jne 0x503b0c
mov eax, dword [ebp - 4]
add eax, 0x14aac
call fcn.00403ccc
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x14fe0]
mov eax, dword [ebp - 4]
call fcn.004f30f0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x144c1], 0
jne 0x503ca0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa5c]
cmp byte [eax + 0x47], 0
jne 0x503ca0
mov edx, 3
mov eax, dword [ebp - 4]
call fcn.004d2cb8
jmp 0x503ca0
lea ecx, [ebp - 0x22c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x144b4]
mov eax, ebx
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x22c]
lea edx, [ebp - 0x228]
call fcn.00409868
mov eax, dword [ebp - 0x228]
lea edx, [ebp - 0x1c]
call fcn.004090d8
mov eax, dword [ebp - 0x1c]
mov edx, 0x503f74
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x503f84
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x503f94
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x503fa4
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x503edc
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x503fb4
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x503fc4
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x503fd4
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x503fe4
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x503ff4
call fcn.0040405c
je 0x503c73
mov eax, dword [ebp - 0x1c]
mov edx, 0x504004
call fcn.0040405c
je 0x503c73
mov edx, dword [ebp - 0x1c]
mov eax, 0x504014
call fcn.00404238
test eax, eax
jg 0x503c73
mov edx, dword [ebp - 0x1c]
mov eax, 0x504024
call fcn.00404238
test eax, eax
jg 0x503c73
mov edx, dword [ebp - 0x1c]
mov eax, 0x504034
call fcn.00404238
test eax, eax
jle 0x503c8f
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14aac]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x14fe0]
mov eax, dword [ebp - 4]
call fcn.004f8d58
jmp 0x503ca0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x14fe0]
mov eax, dword [ebp - 4]
call fcn.004f30f0
mov eax, dword [ebp - 4]
call fcn.004cdf84
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x14fe0]
mov eax, dword [ebp - 4]
call fcn.004cca4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
mov eax, dword [eax + 0x254]
call fcn.00463d9c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa0c]
call fcn.00465370
call fcn.00463454
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x15590]
cmp ebx, dword [ebp - 0x10]
jl 0x503cf7
cmp ebx, dword [ebp - 0x10]
jne 0x503e2b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1558c], 0xb
jne 0x503dd9
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x14aa0], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x634]
mov dl, 1
call fcn.00456d84
mov eax, dword [ebp - 4]
mov byte [eax + 0x14a9c], 7
push 9
lea edx, [ebp - 0x234]
mov eax, dword [0x50b418]
mov eax, dword [eax]
call fcn.00454160
mov eax, dword [ebp - 0x234]
lea edx, [ebp - 0x230]
call fcn.004097fc
mov eax, dword [ebp - 0x230]
call fcn.00404110
push eax
mov eax, dword [0x50e840]
push dword [eax + 0x1555c]
push 0x504044
push 0x50405c
push 0x50406c
lea eax, [ebp - 0x238]
mov edx, 4
call fcn.0040400c
mov eax, dword [ebp - 0x238]
call fcn.00404110
push eax
lea edx, [ebp - 0x240]
mov eax, dword [0x50b418]
mov eax, dword [eax]
call fcn.00454160
mov eax, dword [ebp - 0x240]
lea edx, [ebp - 0x23c]
call fcn.00409830
mov eax, dword [ebp - 0x23c]
call fcn.00404110
push eax
push 0x504078
mov eax, dword [0x50b418]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
push eax
call sub.shell32.dll_ShellExecuteA
jmp 0x503e2b
push 0
push 0x504088
lea edx, [ebp - 0x248]
mov eax, ebx
call fcn.00409428
push dword [ebp - 0x248]
push 0x503f08
push 0x5040a4
lea eax, [ebp - 0x244]
mov edx, 4
call fcn.0040400c
mov eax, dword [ebp - 0x244]
call fcn.00404110
mov edx, eax
mov ecx, 0x503ea0
mov eax, dword [0x50b418]
mov eax, dword [eax]
call fcn.00453df0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x503e99
lea eax, [ebp - 0x248]
mov edx, 0xa
call fcn.00403cf0
lea eax, [ebp - 0x220]
call fcn.00406178
lea eax, [ebp - 0x21c]
call fcn.00406178
lea eax, [ebp - 0x218]
call fcn.00404390
lea eax, [ebp - 0x214]
mov edx, 8
call fcn.00403cf0
lea eax, [ebp - 0x1f4]
call fcn.00403ccc
lea eax, [ebp - 0x24]
mov edx, 5
call fcn.00403cf0
ret