Function at 0x4a3c40
Capabilities:
Check if file exists
Copy file
Create process on windows
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cacd9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1d8
push ebx
mov ebx, ecx
push esi
push edi
mov al, byte [ebx + 0x47a]
xor esi, esi
test al, al
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x74], ebx
mov dword [ebp - 4], esi
jne 0x4a3d76
cmp dword [ebx + 0x4f4], esi
je 0x4a3d76
mov eax, dword [ebx + 0x4d0]
mov edx, dword [ebx + 0x4d4]
sub eax, edx
cmp eax, 1
jg 0x4a3d76
call fcn.004a3bf0
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x90], edi
je 0x4a3d76
mov eax, dword [0x68d01c]
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x108], eax
call fcn.004178c0
lea ecx, [ebp - 0xf8]
call fcn.004178c0
lea ecx, [ebp - 0xec]
call fcn.004178c0
mov eax, dword [0x68d01c]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
call fcn.004178c0
mov eax, dword [0x68d01c]
mov dword [ebp - 0x160], 0x5e54ec
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], esi
lea ecx, [ebp - 0x160]
push esi
push ecx
push edi
lea ecx, [ebx + 8]
mov byte [ebp - 4], 1
call fcn.00582530
test al, al
jne 0x4a3d87
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0
call fcn.0045cb50
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 0x28
call fcn.005a9fe9
add esp, 4
cmp eax, esi
mov dword [ebp - 0x28], eax
je 0x4a3f25
mov edx, dword [0x68d01c]
mov ecx, eax
lea esi, [ecx + 0xc]
add ecx, 0x10
mov dword [ebp - 0x70], ecx
mov dword [esi], edx
call fcn.004178c0
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x1c], 0
mov byte [eax + 0x24], 0
mov byte [eax + 0x25], 0
mov dword [eax], 0
mov byte [eax + 0x26], 0
mov dword [eax + 4], edi
mov ecx, dword [ebx + 0x54c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ecx - 8]
cmp eax, 5
jg 0x4a3df0
mov ecx, dword [ebp - 0x110]
push ecx
push 0x665f68
push esi
call fcn.005a6a18
xor edi, edi
add esp, 0xc
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
mov word [ebp - 0x30], di
mov eax, dword [ebp - 0xec]
mov byte [ebp - 4], 2
cmp eax, edi
mov byte [ebp - 0x11], 0
jne 0x4a3e23
lea eax, [ebp - 0xe8]
push eax
call fcn.00591712
add esp, 4
test eax, eax
jbe 0x4a3f44
mov eax, dword [ebp - 0xec]
cmp eax, edi
jne 0x4a3e44
lea eax, [ebp - 0xe8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4a3f44
mov eax, dword [ebp - 0xec]
cmp eax, edi
jne 0x4a3e64
lea eax, [ebp - 0xe8]
mov edx, 0x665f68
test edx, edx
je 0x4a4417
cmp eax, edi
je 0x4a4417
push eax
lea ecx, [ebp - 0x24]
call fcn.00403af0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.00401070
push 0x665f68
lea ecx, [ebp - 0x40]
call fcn.00401e50
mov esi, dword [ebp - 0x38]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 4
call fcn.00401ed0
push eax
call fcn.00591712
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005a9fe9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x34], edx
je 0x4a3f08
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x40]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x34]
push esi
push eax
call fcn.005916a2
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00591712
add esp, 0x14
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.00401070
jmp 0x4a4415
mov ecx, dword [0x691c78]
cmp ecx, esi
je 0x4a3d67
push 1
push str.Gr_SPHtml2__mem_alloc_err_n
call fcn.00486e80
jmp 0x4a3d67
cmp byte [ebp - 0x122], 4
jne 0x4a43db
mov eax, dword [ebp - 0x104]
cmp eax, edi
jne 0x4a3f61
lea eax, [ebp - 0x100]
push eax
call fcn.00591712
add esp, 4
test eax, eax
jbe 0x4a43db
mov eax, dword [ebp - 0x104]
cmp eax, edi
jne 0x4a3f82
lea eax, [ebp - 0x100]
push eax
call fcn.0043f9d0
add esp, 4
cmp eax, 0xffffffff
je 0x4a43db
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov word [ebp - 0x3c], di
mov eax, dword [ebp - 0xec]
mov byte [ebp - 4], 5
cmp eax, edi
jne 0x4a3fb2
lea eax, [ebp - 0xe8]
push eax
call fcn.00591712
add esp, 4
test eax, eax
jbe 0x4a3fd1
mov eax, dword [ebp - 0xec]
cmp eax, edi
jne 0x4a3fe1
lea eax, [ebp - 0xe8]
jmp 0x4a3fe1
mov eax, dword [ebp - 0xc8]
cmp eax, edi
jne 0x4a3fe1
lea eax, [ebp - 0xc4]
push eax
mov dword [ebp - 0x18], eax
call fcn.00591712
add esp, 4
test eax, eax
jne 0x4a41a5
push edi
call fcn.00592e63
mov esi, eax
push esi
call fcn.00593cad
add esp, 8
call fcn.00593cba
mov ecx, dword [ebx + 0x41c]
cmp ecx, edi
je 0x4a4019
mov ebx, ecx
jmp 0x4a4022
mov edx, dword [ebp - 0x74]
lea ebx, [edx + 0x420]
lea ecx, [ebp - 0x1e4]
push 0xa
push ecx
push eax
call fcn.00592d82
lea edx, [ebp - 0x1a0]
push 0xa
push edx
push esi
mov edi, eax
call fcn.00592d82
mov esi, eax
mov eax, str._s_sa_s_
add esp, 0x18
test eax, eax
je 0x4a4193
test ebx, ebx
je 0x4a4193
test esi, esi
je 0x4a4193
test edi, edi
je 0x4a4193
push ebx
lea ecx, [ebp - 0x58]
call fcn.00403af0
push esi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 6
call fcn.00403af0
push edi
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00403af0
mov bl, 8
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00401070
push str._s_sa_s_
lea ecx, [ebp - 0x24]
call fcn.00401e50
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 9
call fcn.00401ed0
push eax
call fcn.00591712
add esp, 4
lea ecx, [ebp - 0x4c]
mov edi, eax
call fcn.00401ed0
push eax
call fcn.00591712
mov dword [ebp - 0x6c], edi
mov edi, eax
add esp, 4
lea ecx, [ebp - 0x58]
add edi, esi
call fcn.00401ed0
push eax
call fcn.00591712
mov ecx, dword [ebp - 0x6c]
add edi, ecx
lea esi, [eax + edi + 4]
lea edi, [esi + esi]
push edi
call fcn.005a9fe9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x40], edx
je 0x4a4161
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x8c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x58]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x40]
push esi
push eax
call fcn.005916a2
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.00591712
add esp, 0x1c
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 6
call fcn.00401070
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.00401070
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4a419f
mov dword [ebp - 0x18], eax
jmp 0x4a41a5
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00591712
add esp, 4
test eax, eax
je 0x4a43c6
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x20], ax
mov ecx, 0x665f68
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x4a428d
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x4a428d
mov edx, ecx
lea ecx, [ebp - 0x4c]
push edx
call fcn.00403af0
mov bl, 0xb
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
push 0x665f68
lea ecx, [ebp - 0x58]
call fcn.00401e50
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xc
call fcn.00401ed0
push eax
call fcn.00591712
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005a9fe9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x24], edx
je 0x4a4273
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x4c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x58]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x24]
push esi
push eax
call fcn.005916a2
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00591712
add esp, 0x14
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xa
call fcn.00401070
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x4a4294
lea eax, [ebp - 0x20]
push 0x5c
push eax
call fcn.00591662
add esp, 8
test eax, eax
je 0x4a42d6
add eax, 2
mov word [eax], 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x4a42b5
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4a42d6
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x4a42cb
lea eax, [ebp - 0x20]
push 0
push eax
call fcn.00474450
add esp, 8
mov eax, dword [ebp - 0x104]
test eax, eax
jne 0x4a42e6
lea eax, [ebp - 0x100]
mov esi, dword [ebp - 0x18]
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov edx, 0x665f68
test edx, edx
je 0x4a43af
test esi, esi
je 0x4a43af
push esi
lea ecx, [ebp - 0x4c]
call fcn.00403af0
mov bl, 0xd
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], bl
call fcn.00401070
push 0x665f68
lea ecx, [ebp - 0x58]
call fcn.00401e50
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xe
call fcn.00401ed0
push eax
call fcn.00591712
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005a9fe9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x34], edx
je 0x4a4398
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x4c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x58]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x34]
push esi
push eax
call fcn.005916a2
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00591712
add esp, 0x14
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xa
call fcn.00401070
mov edx, dword [ebp - 0x28]
lea ecx, [ebp - 0x24]
mov byte [ebp - 0x11], 1
mov byte [ebp - 4], 5
mov byte [edx + 0x26], 1
call fcn.00401070
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.00401070
mov al, byte [ebp - 0x11]
test al, al
jne 0x4a4415
xor edi, edi
mov ecx, dword [0x691c78]
cmp ecx, edi
je 0x4a43f1
push 1
push str.Error_839417
call fcn.00486e80
mov esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.004a4920
push esi
call fcn.005aa012
add esp, 4
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x4a3d67
xor edi, edi
mov eax, dword [ebp - 0x34]
cmp eax, edi
jne 0x4a4421
lea eax, [ebp - 0x30]
mov ecx, 0x665f68
test ecx, ecx
je 0x4a44e5
test eax, eax
je 0x4a44e5
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403af0
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 4], 0xf
call fcn.00401070
push 0x665f68
lea ecx, [ebp - 0x58]
call fcn.00401e50
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x10
call fcn.00401ed0
push eax
call fcn.00591712
lea esi, [eax + esi + 2]
lea ebx, [esi + esi]
push ebx
call fcn.005a9fe9
mov edx, dword [ebp - 0x28]
mov edi, eax
add esp, 8
lea eax, [edx + 0x10]
test edi, edi
mov dword [eax], edi
je 0x4a44cd
mov ecx, ebx
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x4c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x58]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x28]
push esi
mov ecx, dword [eax + 0x10]
lea esi, [eax + 0x10]
push ecx
call fcn.005916a2
mov edx, dword [esi]
push edx
call fcn.00591712
add esp, 0x14
mov dword [esi + 8], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xf
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 2
call fcn.00401070
mov eax, dword [ebp - 0x74]
xor ecx, ecx
mov dl, byte [eax + 0x28c]
test dl, dl
setne cl
mov dword [ebp - 0x7c], ecx
mov cl, byte [eax + 0x28d]
test cl, cl
je 0x4a4506
or dword [ebp - 0x7c], 2
xor ecx, ecx
mov dword [eax + 0x508], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x60], ecx
mov word [ebp - 0x64], cx
mov eax, dword [0x691b38]
mov byte [ebp - 4], 0x11
cmp eax, ecx
mov esi, eax
jne 0x4a452c
mov esi, 0x691b3c
mov edx, 0x665ff4
test edx, edx
je 0x4a463b
test esi, esi
je 0x4a463b
mov eax, str.IDMGrHlp.exe
test eax, eax
je 0x4a463b
push edx
lea ecx, [ebp - 0x8c]
call fcn.00401e50
push esi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x12
call fcn.00403af0
mov bl, 0x13
push str.IDMGrHlp.exe
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.00403af0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov esi, dword [ebp - 0x84]
lea ecx, [ebp - 0x58]
call fcn.00401ed0
push eax
call fcn.00591712
add esp, 4
lea ecx, [ebp - 0x4c]
mov edi, eax
call fcn.00401ed0
push eax
call fcn.00591712
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005a9fe9
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x68], edx
je 0x4a4612
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x58]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00401ed0
push eax
lea ecx, [ebp - 0x8c]
call fcn.00401ed0
push eax
mov eax, dword [ebp - 0x68]
push esi
push eax
call fcn.005916a2
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.00591712
add esp, 0x18
mov dword [ebp - 0x60], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x12
call fcn.00401070
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
call fcn.00401070
mov ecx, dword [ebp - 0x68]
xor esi, esi
mov eax, ecx
cmp ecx, esi
jne 0x4a4646
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4a48a4
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x80], esi
cmp eax, esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], esi
jne 0x4a4669
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], esi
mov word [ebp - 0x3c], si
call fcn.00401ee0
mov eax, dword [0x691f4c]
mov byte [ebp - 4], 0x15
cmp eax, esi
jne 0x4a46da
mov eax, dword [ebp - 0x68]
cmp eax, esi
jne 0x4a4693
lea eax, [ebp - 0x64]
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x70]
push edx
lea edx, [ebp - 0x80]
push ecx
push edx
push eax
call fcn.004909a0
add esp, 0x10
cmp eax, esi
je 0x4a46d2
mov eax, dword [ebp - 0x80]
cmp eax, 6
jg 0x4a46c6
jne 0x4a46d2
mov eax, dword [ebp - 0x70]
cmp eax, 6
jg 0x4a46c6
jne 0x4a46d2
cmp dword [ebp - 0x6c], 7
jl 0x4a46d2
mov dword [0x691f4c], 1
jmp 0x4a46da
cmp dword [0x691f4c], esi
je 0x4a4751
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x34]
call fcn.00401ed0
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push eax
push 0
push 0xfde9
call edi
mov esi, eax
test esi, esi
jle 0x4a474f
mov eax, dword [0x68d01c]
mov dword [ebp - 0x78], eax
push esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x16
call fcn.005ae01a
push 0
push 0
push esi
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x34]
call fcn.00401ed0
push eax
push 0
push 0xfde9
call edi
test eax, eax
je 0x4a4743
mov ecx, dword [ebp - 0x78]
push 0
push ecx
lea ecx, [ebp - 0x40]
call fcn.00402800
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x15
call fcn.005adc4d
xor esi, esi
mov edx, dword [0x68d01c]
mov ecx, 0x11
xor eax, eax
lea edi, [ebp - 0x1a4]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1a4], 0x44
mov dword [ebp - 0x178], 0x81
mov word [ebp - 0x174], si
mov dword [ebp - 0x18], edx
mov eax, dword [0x691f4c]
mov byte [ebp - 4], 0x17
cmp eax, esi
mov eax, 0x66e0b8
jne 0x4a479b
mov eax, 0x66e0b4
mov edi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x108]
mov ebx, dword [ebp - 0x90]
mov ecx, dword [edi + 0xc]
push ecx
mov ecx, dword [ebp - 0x74]
push edx
push eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [ecx + 0x550]
push ebx
push eax
push edx
lea eax, [ebp - 0x18]
push str.___s___a_2__w__ld__fl__ld__i__ld___s____s___ct___s___u___s_
push eax
call fcn.005a6a18
add esp, 0x20
lea ecx, [ebp - 0x24]
call fcn.004178c0
mov eax, dword [0x691f4c]
mov byte [ebp - 4], 0x18
test eax, eax
lea ecx, [ebp - 0x40]
jne 0x4a47eb
lea ecx, [ebp - 0x34]
call fcn.00401ed0
mov esi, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x68]
call fcn.00401ed0
push eax
push esi
lea ecx, [ebp - 0x24]
call fcn.0040cec0
lea ecx, [ebp - 0x5c]
lea edx, [ebp - 0x1a4]
push ecx
push edx
push 0
push 0
push 0x30
push 1
push 0
push 0
lea ecx, [ebp - 0x24]
call fcn.00401ed0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4a48c1
mov eax, dword [ebp - 0x58]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0x5c]
push ecx
call esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x17
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x15
call fcn.005adc4d
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x11
call fcn.00401070
push 0
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x98], ebx
call fcn.00592e63
mov esi, dword [ebp - 0x74]
add esp, 4
lea edx, [ebp - 0x98]
mov dword [edi + 0x20], eax
push edx
lea ecx, [esi + 0x528]
mov byte [edi + 0x24], 1
call fcn.004a9070
inc dword [esi + 0x4d0]
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x4a3d67
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x17
call fcn.00401070
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x15
call fcn.005adc4d
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x11
call fcn.00401070
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x4a3d67