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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x621711
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1dc
push ebx
mov ebx, ecx
push esi
push edi
mov al, byte [ebx + 0x2bc]
xor esi, esi
test al, al
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x74], ebx
mov dword [ebp - 4], esi
je 0x4cbea4
mov al, byte [ebx + 0x47a]
test al, al
jne 0x4cbea4
cmp dword [ebx + 0x4f4], esi
je 0x4cbea4
mov eax, dword [ebx + 0x4d0]
mov edx, dword [ebx + 0x4d4]
sub eax, edx
cmp eax, 1
jg 0x4cbea4
call fcn.004cbd10
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x94], edi
je 0x4cbea4
mov eax, dword [0x6cc708]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x10c], eax
call fcn.0041cad0
lea ecx, [ebp - 0xfc]
call fcn.0041cad0
lea ecx, [ebp - 0xf0]
call fcn.0041cad0
mov eax, dword [0x6cc708]
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xe4], eax
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
call fcn.0041cad0
mov eax, dword [0x6cc708]
mov dword [ebp - 0x164], 0x635674
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], esi
lea ecx, [ebp - 0x164]
push esi
push ecx
push edi
lea ecx, [ebx + 8]
mov byte [ebp - 4], 1
call fcn.005d70f0
test al, al
jne 0x4cbeb5
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0
call fcn.004764a0
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.005feedc
add esp, 4
cmp eax, esi
mov dword [ebp - 0x28], eax
je 0x4cc053
mov edx, dword [0x6cc708]
mov ecx, eax
lea esi, [ecx + 0xc]
add ecx, 0x10
mov dword [ebp - 0x6c], ecx
mov dword [esi], edx
call fcn.0041cad0
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 - 0xc0]
mov eax, dword [ecx - 8]
cmp eax, 5
jg 0x4cbf1e
mov ecx, dword [ebp - 0x114]
push ecx
push 0x6a00a0
push esi
call fcn.005fb90b
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 - 0xf0]
mov byte [ebp - 4], 2
cmp eax, edi
mov byte [ebp - 0x15], 0
jne 0x4cbf51
lea eax, [ebp - 0xec]
push eax
call fcn.005e639f
add esp, 4
test eax, eax
jbe 0x4cc072
mov eax, dword [ebp - 0xf0]
cmp eax, edi
jne 0x4cbf72
lea eax, [ebp - 0xec]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4cc072
mov eax, dword [ebp - 0xf0]
cmp eax, edi
jne 0x4cbf92
lea eax, [ebp - 0xec]
mov edx, 0x6a00a0
test edx, edx
je 0x4cc545
cmp eax, edi
je 0x4cc545
push eax
lea ecx, [ebp - 0x24]
call fcn.0040e5a0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.00401070
push 0x6a00a0
lea ecx, [ebp - 0x40]
call fcn.00402380
mov esi, dword [ebp - 0x38]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 4
call fcn.00402400
push eax
call fcn.005e639f
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005feedc
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x34], edx
je 0x4cc036
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.00402400
push eax
lea ecx, [ebp - 0x40]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x34]
push esi
push eax
call fcn.005e632f
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.005e639f
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 0x4cc543
mov ecx, dword [0x6d13fc]
cmp ecx, esi
je 0x4cbe95
push 1
push str.Gr_SPHtml2__mem_alloc_err_n
call fcn.004ac2b0
jmp 0x4cbe95
cmp byte [ebp - 0x126], 4
jne 0x4cc509
mov eax, dword [ebp - 0x108]
cmp eax, edi
jne 0x4cc08f
lea eax, [ebp - 0x104]
push eax
call fcn.005e639f
add esp, 4
test eax, eax
jbe 0x4cc509
mov eax, dword [ebp - 0x108]
cmp eax, edi
jne 0x4cc0b0
lea eax, [ebp - 0x104]
push eax
call fcn.0044f630
add esp, 4
cmp eax, 0xffffffff
je 0x4cc509
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov word [ebp - 0x3c], di
mov eax, dword [ebp - 0xf0]
mov byte [ebp - 4], 5
cmp eax, edi
jne 0x4cc0e0
lea eax, [ebp - 0xec]
push eax
call fcn.005e639f
add esp, 4
test eax, eax
jbe 0x4cc0ff
mov eax, dword [ebp - 0xf0]
cmp eax, edi
jne 0x4cc10f
lea eax, [ebp - 0xec]
jmp 0x4cc10f
mov eax, dword [ebp - 0xcc]
cmp eax, edi
jne 0x4cc10f
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0x14], eax
call fcn.005e639f
add esp, 4
test eax, eax
jne 0x4cc2d3
push edi
call fcn.005e7c09
mov esi, eax
push esi
call fcn.005e8a0d
add esp, 8
call fcn.005e8a1a
mov ecx, dword [ebx + 0x41c]
cmp ecx, edi
je 0x4cc147
mov ebx, ecx
jmp 0x4cc150
mov edx, dword [ebp - 0x74]
lea ebx, [edx + 0x420]
lea ecx, [ebp - 0x1e8]
push 0xa
push ecx
push eax
call fcn.005e7a52
lea edx, [ebp - 0x1a4]
push 0xa
push edx
push esi
mov edi, eax
call fcn.005e7a52
mov esi, eax
mov eax, str._s_sa_s_
add esp, 0x18
test eax, eax
je 0x4cc2c1
test ebx, ebx
je 0x4cc2c1
test esi, esi
je 0x4cc2c1
test edi, edi
je 0x4cc2c1
push ebx
lea ecx, [ebp - 0x58]
call fcn.0040e5a0
push esi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 6
call fcn.0040e5a0
push edi
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 7
call fcn.0040e5a0
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.00402380
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 9
call fcn.00402400
push eax
call fcn.005e639f
add esp, 4
lea ecx, [ebp - 0x4c]
mov edi, eax
call fcn.00402400
push eax
call fcn.005e639f
mov dword [ebp - 0x70], edi
mov edi, eax
add esp, 4
lea ecx, [ebp - 0x58]
add edi, esi
call fcn.00402400
push eax
call fcn.005e639f
mov ecx, dword [ebp - 0x70]
add edi, ecx
lea esi, [eax + edi + 4]
lea edi, [esi + esi]
push edi
call fcn.005feedc
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x40], edx
je 0x4cc28f
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 - 0x90]
call fcn.00402400
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402400
push eax
lea ecx, [ebp - 0x58]
call fcn.00402400
push eax
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x40]
push esi
push eax
call fcn.005e632f
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.005e639f
add esp, 0x1c
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x90]
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 0x4cc2cd
mov dword [ebp - 0x14], eax
jmp 0x4cc2d3
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.005e639f
add esp, 4
test eax, eax
je 0x4cc4f4
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x20], ax
mov ecx, 0x6a00a0
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x4cc3bb
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4cc3bb
mov edx, ecx
lea ecx, [ebp - 0x4c]
push edx
call fcn.0040e5a0
mov bl, 0xb
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
push 0x6a00a0
lea ecx, [ebp - 0x58]
call fcn.00402380
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xc
call fcn.00402400
push eax
call fcn.005e639f
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005feedc
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x24], edx
je 0x4cc3a1
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.00402400
push eax
lea ecx, [ebp - 0x58]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x24]
push esi
push eax
call fcn.005e632f
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.005e639f
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 0x4cc3c2
lea eax, [ebp - 0x20]
push 0x5c
push eax
call fcn.005e62ef
add esp, 8
test eax, eax
je 0x4cc404
add eax, 2
mov word [eax], 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x4cc3e3
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4cc404
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x4cc3f9
lea eax, [ebp - 0x20]
push 0
push eax
call fcn.00495e10
add esp, 8
mov eax, dword [ebp - 0x108]
test eax, eax
jne 0x4cc414
lea eax, [ebp - 0x104]
mov esi, dword [ebp - 0x14]
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov edx, 0x6a00a0
test edx, edx
je 0x4cc4dd
test esi, esi
je 0x4cc4dd
push esi
lea ecx, [ebp - 0x4c]
call fcn.0040e5a0
mov bl, 0xd
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], bl
call fcn.00401070
push 0x6a00a0
lea ecx, [ebp - 0x58]
call fcn.00402380
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xe
call fcn.00402400
push eax
call fcn.005e639f
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.005feedc
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x34], edx
je 0x4cc4c6
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.00402400
push eax
lea ecx, [ebp - 0x58]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x34]
push esi
push eax
call fcn.005e632f
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.005e639f
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 - 0x15], 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 - 0x15]
test al, al
jne 0x4cc543
xor edi, edi
mov ecx, dword [0x6d13fc]
cmp ecx, edi
je 0x4cc51f
push 1
push str.Error_839417
call fcn.004ac2b0
mov esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.004ccab0
push esi
call fcn.005fef05
add esp, 4
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x4cbe95
xor edi, edi
mov eax, dword [ebp - 0x34]
cmp eax, edi
jne 0x4cc54f
lea eax, [ebp - 0x30]
mov ecx, 0x6a00a0
test ecx, ecx
je 0x4cc613
test eax, eax
je 0x4cc613
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040e5a0
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 0xf
call fcn.00401070
push 0x6a00a0
lea ecx, [ebp - 0x58]
call fcn.00402380
mov esi, dword [ebp - 0x50]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x10
call fcn.00402400
push eax
call fcn.005e639f
lea esi, [eax + esi + 2]
lea ebx, [esi + esi]
push ebx
call fcn.005feedc
mov edx, dword [ebp - 0x28]
mov edi, eax
add esp, 8
lea eax, [edx + 0x10]
test edi, edi
mov dword [eax], edi
je 0x4cc5fb
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.00402400
push eax
lea ecx, [ebp - 0x58]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x28]
push esi
mov ecx, dword [eax + 0x10]
lea esi, [eax + 0x10]
push ecx
call fcn.005e632f
mov edx, dword [esi]
push edx
call fcn.005e639f
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 0x4cc634
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 [0x6d1288]
mov byte [ebp - 4], 0x11
cmp eax, ecx
mov esi, eax
jne 0x4cc65a
mov esi, 0x6d128c
mov edx, 0x6a012c
test edx, edx
je 0x4cc769
test esi, esi
je 0x4cc769
mov eax, str.IDMGrHlp.exe
test eax, eax
je 0x4cc769
push edx
lea ecx, [ebp - 0x90]
call fcn.00402380
push esi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x12
call fcn.0040e5a0
mov bl, 0x13
push str.IDMGrHlp.exe
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.0040e5a0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov esi, dword [ebp - 0x88]
lea ecx, [ebp - 0x58]
call fcn.00402400
push eax
call fcn.005e639f
add esp, 4
lea ecx, [ebp - 0x4c]
mov edi, eax
call fcn.00402400
push eax
call fcn.005e639f
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005feedc
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x68], edx
je 0x4cc740
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.00402400
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402400
push eax
lea ecx, [ebp - 0x90]
call fcn.00402400
push eax
mov eax, dword [ebp - 0x68]
push esi
push eax
call fcn.005e632f
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.005e639f
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 - 0x90]
mov byte [ebp - 4], 0x11
call fcn.00401070
mov ecx, dword [ebp - 0x68]
xor esi, esi
mov eax, ecx
cmp ecx, esi
jne 0x4cc774
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4cca23
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x84], esi
cmp eax, esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x70], esi
jne 0x4cc79a
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.00402410
mov eax, dword [0x6d170c]
mov byte [ebp - 4], 0x15
cmp eax, esi
jne 0x4cc811
mov eax, dword [ebp - 0x68]
cmp eax, esi
jne 0x4cc7c4
lea eax, [ebp - 0x64]
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x6c]
push edx
lea edx, [ebp - 0x84]
push ecx
push edx
push eax
call fcn.004b86f0
add esp, 0x10
cmp eax, esi
je 0x4cc809
mov eax, dword [ebp - 0x84]
cmp eax, 6
jg 0x4cc7fd
jne 0x4cc809
mov eax, dword [ebp - 0x6c]
cmp eax, 6
jg 0x4cc7fd
jne 0x4cc809
cmp dword [ebp - 0x70], 7
jl 0x4cc809
mov dword [0x6d170c], 1
jmp 0x4cc811
cmp dword [0x6d170c], esi
je 0x4cc88a
mov eax, dword [ebp - 0x34]
cmp eax, esi
jne 0x4cc81b
lea eax, [ebp - 0x30]
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
call edi
mov esi, eax
test esi, esi
jle 0x4cc88a
mov eax, dword [0x6cc708]
mov dword [ebp - 0x80], eax
push esi
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x16
call fcn.00602ea3
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x4cc85a
lea ecx, [ebp - 0x30]
push 0
push 0
push esi
push eax
push 0xffffffffffffffff
push ecx
push 0
push 0xfde9
call edi
test eax, eax
je 0x4cc87e
mov ecx, dword [ebp - 0x80]
push 0
push ecx
lea ecx, [ebp - 0x40]
call fcn.00402e00
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x15
call fcn.00602ad6
mov ecx, 0x11
xor eax, eax
lea edi, [ebp - 0x1a8]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x28]
mov word [ebp - 0x178], ax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x1a8], 0x44
lea eax, [edi + 0xc]
mov dword [ebp - 0x17c], 0x81
push eax
call fcn.0060284b
mov edx, dword [ebp - 0x14]
push 0x25
push edx
mov byte [ebp - 4], 0x17
call fcn.005e63d0
add esp, 8
test eax, eax
je 0x4cc8eb
push 0x6a9580
push 0x6a957c
lea ecx, [ebp - 0x14]
call fcn.005fb32e
mov eax, dword [0x6cc708]
mov dword [ebp - 0x78], eax
mov eax, dword [0x6d170c]
mov byte [ebp - 4], 0x18
test eax, eax
mov eax, 0x6a9578
jne 0x4cc90a
mov eax, 0x6a9574
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0x94]
push ecx
mov ecx, dword [ebp - 0x74]
push edx
push eax
mov eax, dword [ebp - 0x7c]
push ebx
push eax
mov eax, dword [ecx + 0x550]
cdq
push edx
push eax
lea edx, [ebp - 0x78]
push str.___s___a_2__w__I64d__fl__ld__i__ld___s____s___ct___s___u___s_
push edx
call fcn.005fb90b
xor eax, eax
add esp, 0x24
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x20], ax
mov ecx, dword [0x6d170c]
mov byte [ebp - 4], 0x19
cmp ecx, eax
lea ecx, [ebp - 0x40]
jne 0x4cc95e
lea ecx, [ebp - 0x34]
call fcn.00402400
mov esi, dword [ebp - 0x78]
push eax
lea ecx, [ebp - 0x68]
call fcn.00402400
push eax
push esi
lea ecx, [ebp - 0x24]
call fcn.0040fbd0
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x1a8]
push eax
push ecx
push 0
push 0
push 0x30
push 1
push 0
push 0
lea ecx, [ebp - 0x24]
call fcn.00402400
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4cca40
mov edx, dword [ebp - 0x58]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
mov eax, dword [ebp - 0x5c]
push eax
call esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x18
call fcn.00401070
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x17
call fcn.00602ad6
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x15
call fcn.00602ad6
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x11
call fcn.00401070
push 0
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x9c], ebx
call fcn.005e7c09
mov esi, dword [ebp - 0x74]
add esp, 4
lea ecx, [ebp - 0x9c]
mov dword [edi + 0x20], eax
push ecx
lea ecx, [esi + 0x528]
mov byte [edi + 0x24], 1
call fcn.004d0e10
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 0x4cbe95
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x18
call fcn.00401070
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x17
call fcn.00602ad6
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x15
call fcn.00602ad6
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 0x4cbe95