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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x646641
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 0x4df854
mov al, byte [ebx + 0x47a]
test al, al
jne 0x4df854
cmp dword [ebx + 0x4f4], esi
je 0x4df854
mov eax, dword [ebx + 0x4d0]
mov edx, dword [ebx + 0x4d4]
sub eax, edx
cmp eax, 1
jg 0x4df854
call fcn.004df6c0
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x94], edi
je 0x4df854
mov eax, dword [0x6f7b78]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x10c], eax
call fcn.004027c0
lea ecx, [ebp - 0xfc]
call fcn.004027c0
lea ecx, [ebp - 0xf0]
call fcn.004027c0
mov eax, dword [0x6f7b78]
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.004027c0
mov eax, dword [0x6f7b78]
mov dword [ebp - 0x164], 0x65b4ec
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.005fa550
test al, al
jne 0x4df865
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0
call fcn.00483aa0
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.00622acb
add esp, 4
cmp eax, esi
mov dword [ebp - 0x28], eax
je 0x4dfa0c
mov edx, dword [0x6f7b78]
mov ecx, eax
lea esi, [ecx + 0xc]
add ecx, 0x10
mov dword [ebp - 0x6c], ecx
mov dword [esi], edx
call fcn.004027c0
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 0x4df8ce
mov ecx, dword [ebp - 0x114]
push ecx
push 0x6c910c
push esi
call fcn.0061fae1
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 0x4df901
lea eax, [ebp - 0xec]
push eax
call fcn.00609a4e
add esp, 4
test eax, eax
jbe 0x4dfa2b
mov eax, dword [ebp - 0xf0]
cmp eax, edi
jne 0x4df922
lea eax, [ebp - 0xec]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4dfa2b
mov eax, dword [ebp - 0xf0]
cmp eax, edi
jne 0x4df942
lea eax, [ebp - 0xec]
mov edx, 0x6c910c
test edx, edx
je 0x4dff1c
cmp eax, edi
je 0x4dff1c
push eax
lea ecx, [ebp - 0x24]
call fcn.00401ee0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.00401070
lea ecx, [ebp - 0x40]
call fcn.004027c0
push edi
push 0x6c910c
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.004027e0
mov esi, dword [ebp - 0x38]
lea ecx, [ebp - 0x24]
call fcn.00401f10
push eax
call fcn.00609a4e
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.00622acb
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x34], edx
je 0x4df9ef
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.00401f10
push eax
lea ecx, [ebp - 0x40]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x34]
push esi
push eax
call fcn.006099de
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00609a4e
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 0x4dff1a
mov ecx, dword [0x6fcc14]
cmp ecx, esi
je 0x4df845
push 1
push str.Gr_SPHtml2__mem_alloc_err_n
call fcn.004be7c0
jmp 0x4df845
cmp byte [ebp - 0x126], 4
jne 0x4dfee0
mov eax, dword [ebp - 0x108]
cmp eax, edi
jne 0x4dfa48
lea eax, [ebp - 0x104]
push eax
call fcn.00609a4e
add esp, 4
test eax, eax
jbe 0x4dfee0
mov eax, dword [ebp - 0x108]
cmp eax, edi
jne 0x4dfa69
lea eax, [ebp - 0x104]
push eax
call fcn.00457640
add esp, 4
cmp eax, 0xffffffff
je 0x4dfee0
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 0x4dfa99
lea eax, [ebp - 0xec]
push eax
call fcn.00609a4e
add esp, 4
test eax, eax
jbe 0x4dfab8
mov eax, dword [ebp - 0xf0]
cmp eax, edi
jne 0x4dfac8
lea eax, [ebp - 0xec]
jmp 0x4dfac8
mov eax, dword [ebp - 0xcc]
cmp eax, edi
jne 0x4dfac8
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0x14], eax
call fcn.00609a4e
add esp, 4
test eax, eax
jne 0x4dfc96
push edi
call fcn.0060b449
mov esi, eax
push esi
call fcn.0060c28d
add esp, 8
call fcn.0060c29a
mov ecx, dword [ebx + 0x41c]
cmp ecx, edi
je 0x4dfb00
mov ebx, ecx
jmp 0x4dfb09
mov edx, dword [ebp - 0x74]
lea ebx, [edx + 0x420]
lea ecx, [ebp - 0x1e8]
push 0xa
push ecx
push eax
call fcn.0060b296
lea edx, [ebp - 0x1a4]
push 0xa
push edx
push esi
mov edi, eax
call fcn.0060b296
mov esi, eax
mov eax, str._s_sa_s_
add esp, 0x18
test eax, eax
je 0x4dfc84
test ebx, ebx
je 0x4dfc84
test esi, esi
je 0x4dfc84
test edi, edi
je 0x4dfc84
push ebx
lea ecx, [ebp - 0x58]
call fcn.00401ee0
push esi
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 6
call fcn.00401ee0
push edi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 7
call fcn.00401ee0
mov bl, 8
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x4c]
call fcn.004027c0
push 0
push str._s_sa_s_
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.004027e0
mov esi, dword [ebp - 0x44]
lea ecx, [ebp - 0x24]
call fcn.00401f10
push eax
call fcn.00609a4e
add esp, 4
lea ecx, [ebp - 0x90]
mov edi, eax
call fcn.00401f10
push eax
call fcn.00609a4e
mov dword [ebp - 0x70], edi
mov edi, eax
add esp, 4
lea ecx, [ebp - 0x58]
add edi, esi
call fcn.00401f10
push eax
call fcn.00609a4e
mov ecx, dword [ebp - 0x70]
add edi, ecx
lea esi, [eax + edi + 4]
lea edi, [esi + esi]
push edi
call fcn.00622acb
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x40], edx
je 0x4dfc52
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.00401f10
push eax
lea ecx, [ebp - 0x90]
call fcn.00401f10
push eax
lea ecx, [ebp - 0x58]
call fcn.00401f10
push eax
lea ecx, [ebp - 0x4c]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x40]
push esi
push eax
call fcn.006099de
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.00609a4e
add esp, 0x1c
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 7
call fcn.00401070
lea ecx, [ebp - 0x90]
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 0x4dfc90
mov dword [ebp - 0x14], eax
jmp 0x4dfc96
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00609a4e
add esp, 4
test eax, eax
je 0x4dfecb
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], eax
mov word [ebp - 0x48], ax
mov ecx, 0x6c910c
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x4dfd88
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4dfd88
mov edx, ecx
lea ecx, [ebp - 0x58]
push edx
call fcn.00401ee0
mov bl, 0xb
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x24]
call fcn.004027c0
push 0
push 0x6c910c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xc
call fcn.004027e0
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x58]
call fcn.00401f10
push eax
call fcn.00609a4e
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.00622acb
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x4c], edx
je 0x4dfd6e
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.00401f10
push eax
lea ecx, [ebp - 0x24]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x4c]
push esi
push eax
call fcn.006099de
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.00609a4e
add esp, 0x14
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xa
call fcn.00401070
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x4dfd8f
lea eax, [ebp - 0x48]
push 0x5c
push eax
call fcn.00609ba3
add esp, 8
test eax, eax
je 0x4dfdd1
add eax, 2
mov word [eax], 0
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x4dfdb0
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4dfdd1
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x4dfdc6
lea eax, [ebp - 0x48]
push 0
push eax
call fcn.004a6010
add esp, 8
mov eax, dword [ebp - 0x108]
test eax, eax
jne 0x4dfde1
lea eax, [ebp - 0x104]
mov esi, dword [ebp - 0x14]
push 0
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov edx, 0x6c910c
test edx, edx
je 0x4dfeb4
test esi, esi
je 0x4dfeb4
push esi
lea ecx, [ebp - 0x58]
call fcn.00401ee0
mov bl, 0xd
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x24]
call fcn.004027c0
push 0
push 0x6c910c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.004027e0
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x58]
call fcn.00401f10
push eax
call fcn.00609a4e
lea esi, [eax + esi + 2]
lea edi, [esi + esi]
push edi
call fcn.00622acb
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x34], edx
je 0x4dfe9d
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.00401f10
push eax
lea ecx, [ebp - 0x24]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x34]
push esi
push eax
call fcn.006099de
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.00609a4e
add esp, 0x14
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xa
call fcn.00401070
mov edx, dword [ebp - 0x28]
lea ecx, [ebp - 0x4c]
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 0x4dff1a
xor edi, edi
mov ecx, dword [0x6fcc14]
cmp ecx, edi
je 0x4dfef6
push 1
push str.Error_839417
call fcn.004be7c0
mov esi, dword [ebp - 0x28]
mov ecx, esi
call fcn.004e04a0
push esi
call fcn.00622af4
add esp, 4
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.00401070
jmp 0x4df845
xor edi, edi
mov eax, dword [ebp - 0x34]
cmp eax, edi
jne 0x4dff26
lea eax, [ebp - 0x30]
mov ecx, 0x6c910c
test ecx, ecx
je 0x4dfff4
test eax, eax
je 0x4dfff4
push eax
lea ecx, [ebp - 0x58]
call fcn.00401ee0
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 0xf
call fcn.00401070
lea ecx, [ebp - 0x24]
call fcn.004027c0
push 0
push 0x6c910c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x10
call fcn.004027e0
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x58]
call fcn.00401f10
push eax
call fcn.00609a4e
lea esi, [eax + esi + 2]
lea ebx, [esi + esi]
push ebx
call fcn.00622acb
mov edx, dword [ebp - 0x28]
mov edi, eax
add esp, 8
lea eax, [edx + 0x10]
test edi, edi
mov dword [eax], edi
je 0x4dffdc
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 - 0x58]
call fcn.00401f10
push eax
lea ecx, [ebp - 0x24]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x28]
push esi
mov ecx, dword [eax + 0x10]
lea esi, [eax + 0x10]
push ecx
call fcn.006099de
mov edx, dword [esi]
push edx
call fcn.00609a4e
add esp, 0x14
mov dword [esi + 8], eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xf
call fcn.00401070
lea ecx, [ebp - 0x58]
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 0x4e0015
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 [0x6fca20]
mov byte [ebp - 4], 0x11
cmp eax, ecx
mov esi, eax
jne 0x4e003b
mov esi, 0x6fca24
mov edx, 0x6c900c
test edx, edx
je 0x4e0158
test esi, esi
je 0x4e0158
mov eax, str.IDMGrHlp.exe
test eax, eax
je 0x4e0158
lea ecx, [ebp - 0x24]
call fcn.004027c0
push 0
push 0x6c900c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x12
call fcn.004027e0
push esi
lea ecx, [ebp - 0x90]
call fcn.00401ee0
mov bl, 0x13
push str.IDMGrHlp.exe
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.00401ee0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x14
call fcn.00401070
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x58]
call fcn.00401f10
push eax
call fcn.00609a4e
add esp, 4
lea ecx, [ebp - 0x90]
mov edi, eax
call fcn.00401f10
push eax
call fcn.00609a4e
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.00622acb
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x68], edx
je 0x4e012f
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.00401f10
push eax
lea ecx, [ebp - 0x90]
call fcn.00401f10
push eax
lea ecx, [ebp - 0x24]
call fcn.00401f10
push eax
mov eax, dword [ebp - 0x68]
push esi
push eax
call fcn.006099de
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.00609a4e
add esp, 0x18
mov dword [ebp - 0x60], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], bl
call fcn.00401070
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x12
call fcn.00401070
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x11
call fcn.00401070
mov ecx, dword [ebp - 0x68]
xor esi, esi
mov eax, ecx
cmp ecx, esi
jne 0x4e0163
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4e040d
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x84], esi
cmp eax, esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x70], esi
jne 0x4e0189
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.00401f20
mov eax, dword [0x6fcf64]
mov byte [ebp - 4], 0x15
cmp eax, esi
jne 0x4e0200
mov eax, dword [ebp - 0x68]
cmp eax, esi
jne 0x4e01b3
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.004cbb90
add esp, 0x10
cmp eax, esi
je 0x4e01f8
mov eax, dword [ebp - 0x84]
cmp eax, 6
jg 0x4e01ec
jne 0x4e01f8
mov eax, dword [ebp - 0x6c]
cmp eax, 6
jg 0x4e01ec
jne 0x4e01f8
cmp dword [ebp - 0x70], 7
jl 0x4e01f8
mov dword [0x6fcf64], 1
jmp 0x4e0200
cmp dword [0x6fcf64], esi
je 0x4e0277
mov eax, dword [ebp - 0x34]
cmp eax, esi
jne 0x4e020a
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 0x4e0277
mov eax, dword [0x6f7b78]
mov dword [ebp - 0x80], eax
push esi
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x16
call fcn.00623157
push 0
push 0
push esi
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x34]
call fcn.00401f10
push eax
push 0
push 0xfde9
call edi
test eax, eax
je 0x4e026b
mov ecx, dword [ebp - 0x80]
push 0
push ecx
lea ecx, [ebp - 0x40]
call fcn.004027e0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x15
call fcn.00622d8a
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.00622aff
mov edx, dword [ebp - 0x14]
push 0x25
push edx
mov byte [ebp - 4], 0x17
call fcn.00609c00
add esp, 8
test eax, eax
je 0x4e02d8
push 0x6d2f34
push 0x6d2f30
lea ecx, [ebp - 0x14]
call fcn.0061f504
mov eax, dword [0x6f7b78]
mov dword [ebp - 0x78], eax
mov eax, dword [0x6fcf64]
mov byte [ebp - 4], 0x18
test eax, eax
mov eax, 0x6d2f2c
jne 0x4e02f7
mov eax, 0x6d2f28
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.0061fae1
add esp, 0x24
lea ecx, [ebp - 0x24]
call fcn.004027c0
mov eax, dword [0x6fcf64]
mov byte [ebp - 4], 0x19
test eax, eax
lea ecx, [ebp - 0x40]
jne 0x4e0346
lea ecx, [ebp - 0x34]
call fcn.00401f10
mov esi, dword [ebp - 0x78]
push 0
push eax
lea ecx, [ebp - 0x68]
call fcn.00401f10
push eax
push esi
lea ecx, [ebp - 0x24]
call fcn.00410d70
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.00401f10
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4e042a
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.00622d8a
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x15
call fcn.00622d8a
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.0060b449
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.004e4e60
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 0x4df845
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x18
call fcn.00401070
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x17
call fcn.00622d8a
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x15
call fcn.00622d8a
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 0x4df845