Function at 0x40685c
Capabilities:
Create directory

Disassembly:
mov eax, 0x439487
call fcn.00416cd8
sub esp, 0x248
mov eax, dword [0x44c608]
fldz
push ebx
fstp dword [ebp - 0x220]
mov ebx, dword [ebp + 8]
push esi
push edi
xor eax, ebp
mov edi, 0x44d594
mov ecx, edi
mov dword [ebp - 0x10], eax
call fcn.00401881
mov eax, dword [ebx + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x230], eax
mov eax, dword [ebx + 8]
push 0x44d59c
mov dword [ebx + 0xa4], 4
mov dword [ebp - 0x238], eax
call esi
push 0x43b998
push str.._version_info.lit
call fcn.00416f40
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x228], eax
jne 0x4068fe
mov ecx, edi
call fcn.00401881
push 0
push 0
push 5
lea ecx, [ebx + 0xcbc]
call fcn.00404a61
push eax
call fcn.00430bab
push 0x44d59c
call esi
jmp 0x406e85
push dword [eax + 0x10]
call fcn.00417755
mov edi, eax
lea eax, [edi + 1]
push eax
mov dword [ebp - 0x23c], edi
call fcn.00425cd1
mov esi, eax
lea eax, [edi + 1]
push eax
push 0
push esi
mov dword [ebp - 0x224], esi
call fcn.004175c0
push dword [ebp - 0x228]
push 1
push edi
push esi
call fcn.00417709
and dword [ebp - 0x22c], 0
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
mov byte [esi + edi], 0
call fcn.004175c0
add esp, 0x30
mov byte [ebp - 0x21a], 0
lea edi, [ebx + 0xb8]
and dword [ebp - 0x234], 0
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
mov byte [ebp - 0x219], 0
call fcn.004175c0
mov edx, dword [ebp - 0x22c]
add esp, 0xc
and dword [ebp - 0x218], 0
mov eax, edx
mov cl, byte [eax + esi]
cmp cl, 0xd
jne 0x4069aa
cmp byte [eax + esi + 1], 0xa
je 0x4069b8
cmp cl, 0xa
je 0x4069ec
inc dword [ebp - 0x218]
inc eax
jmp 0x40699b
mov eax, dword [ebp - 0x218]
add eax, 2
push eax
add edx, esi
push edx
lea eax, [ebp - 0x210]
push eax
call fcn.00417ac0
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x218]
lea eax, [eax + ecx + 2]
add esp, 0xc
mov dword [ebp - 0x22c], eax
jmp 0x4069f3
mov byte [ebp - 0x21a], 1
and dword [ebp - 0x218], 0
lea eax, [ebp - 0x210]
push eax
mov byte [ebp - 0x211], 0
call fcn.00416100
test eax, eax
pop ecx
jbe 0x406cd4
mov eax, dword [ebp - 0x218]
cmp byte [ebp + eax - 0x210], 9
jne 0x406a2c
inc byte [ebp - 0x211]
inc dword [ebp - 0x218]
lea eax, [ebp - 0x210]
push eax
call fcn.00416100
cmp dword [ebp - 0x218], eax
pop ecx
jb 0x406a16
cmp byte [ebp - 0x211], 1
jne 0x406a54
push 0
jmp 0x406a63
cmp byte [ebp - 0x211], 2
jne 0x406cd4
push 1
lea eax, [ebp - 0x219]
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.00404df3
fld dword [ebp - 0x220]
fcomp dword [ebp - 0x238]
add esp, 0x14
fnstsw ax
test ah, 0x41
jne 0x406ad2
mov ecx, 0x44d594
call fcn.00401881
mov eax, dword [ebp - 0x220]
mov cl, byte [ebp - 0x219]
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x234]
mov dword [edi], eax
mov byte [edi + 4], cl
add dword [ebx + 0xac], eax
push 0x44d59c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add edi, 0xc
fld dword [ebp - 0x230]
fld dword [ebp - 0x220]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x406b20
cmp byte [ebp - 0x21a], 0
je 0x406968
cmp byte [0x44d591], 0
jne 0x406b3b
push esi
call fcn.00425ccc
push dword [ebp - 0x228]
call fcn.00416e35
push ebx
mov byte [0x44d591], 1
call fcn.004066a4
add esp, 0xc
jmp 0x406b33
push esi
call fcn.00425ccc
push dword [ebp - 0x228]
call fcn.00416e35
pop ecx
pop ecx
xor eax, eax
inc eax
jmp 0x406e87
push 6
push str..Report
call fcn.00417be4
cmp eax, 0xffffffff
pop ecx
pop ecx
jne 0x406b5b
push 0
push str.Report
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x43c3d4
push str..ReportReport.txt
call fcn.00416f40
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x406b87
push eax
push eax
push 0x15
lea ecx, [ebx + 0xcbc]
call fcn.00404a61
push eax
call fcn.00430bab
lea ecx, [ebp - 0x254]
call fcn.00403381
push 0xfa
lea ecx, [ebp - 0x254]
mov dword [ebp - 4], 1
call fcn.00403eef
movzx eax, byte [ebp - 0x211]
push eax
mov esi, str._d_r_n
push esi
push edi
call fcn.00416e86
push dword [ebp - 0x23c]
push esi
push edi
call fcn.00416e86
push dword [ebp - 0x224]
call fcn.00416100
push eax
push esi
push edi
call fcn.00416e86
fld dword [ebp - 0x220]
add esp, 0x20
fstp qword [esp]
mov esi, str._f_r_n
push esi
push edi
call fcn.00416e86
fld dword [ebp - 0x238]
add esp, 8
fstp qword [esp]
push esi
push edi
call fcn.00416e86
fld dword [ebp - 0x230]
add esp, 8
fstp qword [esp]
push esi
push edi
call fcn.00416e86
lea eax, [ebp - 0x210]
push eax
mov esi, 0x43bf24
push esi
push edi
call fcn.00416e86
push dword [ebp - 0x224]
push esi
push edi
call fcn.00416e86
push 0
push 0
push edi
call fcn.00417edf
push dword [edi + 0x10]
call fcn.00417755
mov esi, eax
lea eax, [esi + 1]
push eax
call fcn.00425cd1
push edi
push 1
push esi
push eax
mov dword [ebp - 0x218], eax
call fcn.00417709
add esp, 0x4c
push dword [ebp - 0x218]
lea ecx, [ebp - 0x254]
push dword [ebp - 0x218]
push esi
push 0x7b
call fcn.00403ef9
push 0
push 0
push edi
call fcn.00417edf
push edi
push 1
push esi
push dword [ebp - 0x218]
call fcn.00417e04
push edi
call fcn.00416e35
push dword [ebp - 0x218]
call fcn.00425ccc
add esp, 0x24
push 0
push 0x30
push 0x16
lea ecx, [ebx + 0xcbc]
call fcn.00404a61
push eax
call fcn.00430bab
lea ecx, [ebp - 0x254]
jmp 0x406e7c
push 6
push str..Report
call fcn.00417be4
cmp eax, 0xffffffff
pop ecx
pop ecx
jne 0x406cf4
push 0
push str.Report
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x43c3d4
push str..ReportReport.txt
call fcn.00416f40
mov edi, eax
xor esi, esi
cmp edi, esi
pop ecx
pop ecx
jne 0x406d22
push esi
push esi
push 0x15
lea ecx, [ebx + 0xcbc]
call fcn.00404a61
push eax
call fcn.00430bab
lea ecx, [ebp - 0x248]
call fcn.00403381
push 0xfa
lea ecx, [ebp - 0x248]
mov dword [ebp - 4], esi
call fcn.00403eef
movzx eax, byte [ebp - 0x211]
push eax
mov esi, str._d_r_n
push esi
push edi
call fcn.00416e86
push dword [ebp - 0x23c]
push esi
push edi
call fcn.00416e86
push dword [ebp - 0x224]
call fcn.00416100
push eax
push esi
push edi
call fcn.00416e86
fld dword [ebp - 0x220]
add esp, 0x20
fstp qword [esp]
mov esi, str._f_r_n
push esi
push edi
call fcn.00416e86
fld dword [ebp - 0x238]
add esp, 8
fstp qword [esp]
push esi
push edi
call fcn.00416e86
fld dword [ebp - 0x230]
add esp, 8
fstp qword [esp]
push esi
push edi
call fcn.00416e86
lea eax, [ebp - 0x210]
push eax
mov esi, 0x43bf24
push esi
push edi
call fcn.00416e86
push dword [ebp - 0x224]
push esi
push edi
call fcn.00416e86
push 0
push 0
push edi
call fcn.00417edf
push dword [edi + 0x10]
call fcn.00417755
mov esi, eax
lea eax, [esi + 1]
push eax
call fcn.00425cd1
push edi
push 1
push esi
push eax
mov dword [ebp - 0x218], eax
call fcn.00417709
add esp, 0x4c
push dword [ebp - 0x218]
lea ecx, [ebp - 0x248]
push dword [ebp - 0x218]
push esi
push 0x7b
call fcn.00403ef9
push 0
push 0
push edi
call fcn.00417edf
push edi
push 1
push esi
push dword [ebp - 0x218]
call fcn.00417e04
push edi
call fcn.00416e35
push dword [ebp - 0x218]
call fcn.00425ccc
push dword [ebp - 0x224]
call fcn.00425ccc
push dword [ebp - 0x228]
call fcn.00416e35
add esp, 0x2c
push 0
push 0x30
push 0x16
lea ecx, [ebx + 0xcbc]
call fcn.00404a61
push eax
call fcn.00430bab
lea ecx, [ebp - 0x248]
or dword [ebp - 4], 0xffffffff
call fcn.00403edf
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop esi
xor ecx, ebp
pop ebx
call fcn.004160e8
leave
ret