Function at 0x43d063
Capabilities:
Create directory
Get common file path

Disassembly:
push 0x3dc
mov eax, 0x455b65
call fcn.00450080
mov eax, dword [ebp + 8]
push dword [0x47a214]
mov dword [ebp - 0x398], eax
mov ebx, ecx
call fcn.004127fa
pop ecx
mov dword [ebp - 0x3a0], eax
and dword [ebp - 4], 0
mov eax, dword [ebx + 0x14]
cmp eax, 8
jb 0x43d09f
mov ecx, dword [ebx]
jmp 0x43d0a1
mov ecx, ebx
test ecx, ecx
je 0x43d0b2
cmp eax, 8
jb 0x43d0ae
mov eax, dword [ebx]
jmp 0x43d0b7
mov eax, ebx
jmp 0x43d0b7
mov eax, dword [0x47a898]
push eax
lea eax, [ebp - 0x28c]
call fcn.004051a4
lea eax, [ebp - 0x28c]
push eax
mov edx, 0xfde9
lea ecx, [ebp - 0x2e0]
mov byte [ebp - 4], 1
call fcn.0044af2f
pop ecx
mov esi, eax
mov byte [ebp - 4], 2
push dword [0x47a20c]
lea eax, [ebp - 0x2c4]
call fcn.00404823
mov byte [ebp - 4], 3
push dword [0x47a218]
push eax
lea eax, [ebp - 0x2a8]
call fcn.00408c42
mov byte [ebp - 4], 4
push dword [0x47a210]
push eax
lea eax, [ebp - 0x318]
call fcn.00408c42
add esp, 0x10
mov byte [ebp - 4], 5
cmp dword [esi + 0x14], 0x10
jb 0x43d131
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x43d139
mov eax, dword [eax]
push esi
push dword [0x47a214]
push eax
push 0
call fcn.0043de0f
add esp, 0x10
push 1
xor edi, edi
lea esi, [ebp - 0x318]
call fcn.00404d39
push 1
lea esi, [ebp - 0x2a8]
call fcn.00404d39
push 1
lea esi, [ebp - 0x2c4]
call fcn.00404d39
push 1
lea esi, [ebp - 0x2e0]
call fcn.00404d39
push 1
lea esi, [ebp - 0x28c]
call fcn.0040507d
mov dword [ebp - 0x390], 0x2b
mov dword [ebp - 0x38c], 0x12
mov eax, dword [ebp - 0x390]
imul eax, eax, 0x4d
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
sub eax, ecx
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x390]
imul eax, eax, 0x5a
mov dword [ebp - 0x390], eax
mov ecx, dword [ebp - 0x390]
mov eax, dword [ebp - 0x38c]
imul ecx, ecx, 0x53
cdq
push 0x13
pop esi
idiv esi
push 0x73
sub eax, ecx
mov ecx, dword [ebp - 0x38c]
sub eax, ecx
add eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x390]
lea eax, [eax + ecx + 1]
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x38c]
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x390]
push 0xffffffffffffffbd
add ecx, dword [ebp - 0x390]
mov dword [ebp - 0x38c], ecx
add dword [ebp - 0x390], 2
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x390]
imul eax, ecx
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x38c]
sub ecx, eax
add ecx, dword [ebp - 0x38c]
push 0x20
add ecx, dword [ebp - 0x390]
add ecx, dword [ebp - 0x390]
add ecx, dword [ebp - 0x390]
mov dword [ebp - 0x390], ecx
mov eax, dword [ebp - 0x38c]
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x38c]
sub ecx, eax
mov eax, dword [ebp - 0x390]
sub ecx, eax
add ecx, dword [ebp - 0x38c]
mov dword [ebp - 0x38c], ecx
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x390]
imul eax, ecx
mov ecx, dword [ebp - 0x38c]
imul ecx, ecx, 0x1323
sub eax, ecx
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
imul eax, ecx
mov ecx, dword [ebp - 0x390]
imul eax, ecx
imul eax, eax, 0x378
push 0xfffffffffffffffd
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x38c]
sub ecx, eax
mov eax, dword [ebp - 0x38c]
sub ecx, eax
mov eax, dword [ebp - 0x38c]
sub ecx, eax
mov eax, dword [ebp - 0x390]
sub ecx, eax
add ecx, dword [ebp - 0x38c]
push 0xffffffffffffff8b
add ecx, dword [ebp - 0x390]
mov dword [ebp - 0x38c], ecx
mov eax, dword [ebp - 0x390]
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x390]
sub ecx, eax
add ecx, dword [ebp - 0x38c]
push 0x4b
add ecx, dword [ebp - 0x390]
mov dword [ebp - 0x390], ecx
mov eax, dword [ebp - 0x38c]
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x38c]
push 5
mov dword [ebp - 0x390], ecx
mov ecx, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x390]
imul ecx, eax
mov eax, dword [ebp - 0x390]
cdq
pop esi
idiv esi
push 0x206
sub ecx, eax
add ecx, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x38c]
lea eax, [ecx + eax + 0x2a]
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x38c]
imul eax, eax, 9
mov dword [ebp - 0x390], eax
xor eax, eax
mov byte [ebp - 4], 6
push eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push eax
call fcn.00412780
add esp, 0xc
fld qword [0x473890]
lea eax, [ebp - 0x21c]
fstp qword [ebp - 0x394]
push eax
fld qword [ebp - 0x394]
push 0x104
fadd qword [0x473888]
fstp qword [ebp - 0x394]
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
call fcn.0043e595
lea ecx, [ebp - 0x21c]
push ecx
call dword [eax + 0x184]
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x238]
call fcn.004051a4
mov byte [ebp - 4], 7
fld qword [0x4738d8]
fstp qword [ebp - 0x394]
push edi
fld qword [ebp - 0x394]
push ebx
fsub qword [ebp - 0x394]
or eax, 0xffffffff
fld qword [ebp - 0x394]
lea esi, [ebp - 0x238]
fmul qword [0x4738b0]
fsubp st(1)
fsub qword [ebp - 0x394]
fld qword [ebp - 0x394]
fmul qword [0x4738a8]
faddp st(1)
fadd qword [ebp - 0x394]
fsub qword [0x4738a0]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x394]
fadd qword [0x473898]
fstp qword [ebp - 0x394]
call fcn.004089c0
mov eax, esi
push eax
lea esi, [ebp - 0x254]
call fcn.00409296
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x254]
push 8
pop ebx
cmp dword [ebp - 0x240], ebx
jae 0x43d495
lea eax, [ebp - 0x254]
push eax
call fcn.0043ea8b
test eax, eax
je 0x43d526
lea eax, [ebp - 0x36c]
push eax
call fcn.0043c7d2
pop ecx
mov esi, eax
mov byte [ebp - 4], 9
push dword [0x47a89c]
lea eax, [ebp - 0x334]
push eax
lea ecx, [ebp - 0x238]
call fcn.00408c73
pop ecx
pop ecx
mov ecx, eax
mov eax, esi
lea edi, [ebp - 0x2fc]
mov byte [ebp - 4], 0xa
call fcn.00408cdf
mov ebx, eax
lea eax, [ebp - 0x254]
mov byte [ebp - 4], 0xb
call fcn.004056ad
push 1
xor edi, edi
lea esi, [ebp - 0x2fc]
call fcn.0040507d
push 1
lea esi, [ebp - 0x334]
call fcn.0040507d
push 1
lea esi, [ebp - 0x36c]
mov byte [ebp - 4], 8
call fcn.0040507d
jmp 0x43d47e
fld qword [0x4738d8]
push 0xffffffffffffffff
fstp qword [ebp - 0x394]
push 0
fld qword [ebp - 0x394]
lea eax, [ebp - 0x254]
fsub qword [ebp - 0x394]
lea ecx, [ebp - 0x238]
fld qword [ebp - 0x394]
fmul qword [0x4738b0]
fsubp st(1)
fsub qword [ebp - 0x394]
fld qword [ebp - 0x394]
fmul qword [0x4738a8]
faddp st(1)
fadd qword [ebp - 0x394]
fsub qword [0x4738a0]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x394]
fadd qword [0x473898]
fstp qword [ebp - 0x394]
call fcn.00404e5f
push 1
xor edi, edi
lea esi, [ebp - 0x254]
mov byte [ebp - 4], 7
call fcn.0040507d
mov eax, dword [ebp - 0x238]
cmp dword [ebp - 0x224], ebx
jae 0x43d5c0
lea eax, [ebp - 0x238]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x43d68a
mov eax, dword [ebp - 0x238]
cmp dword [ebp - 0x224], ebx
jae 0x43d5e5
lea eax, [ebp - 0x238]
test eax, eax
je 0x43d601
cmp dword [ebp - 0x224], ebx
jb 0x43d5f9
mov eax, dword [ebp - 0x238]
jmp 0x43d606
lea eax, [ebp - 0x238]
jmp 0x43d606
mov eax, dword [0x47a898]
push eax
lea eax, [ebp - 0x350]
call fcn.004051a4
push 0x472d9c
lea eax, [ebp - 0x3d4]
mov byte [ebp - 4], 0xc
call fcn.00404823
lea eax, [ebp - 0x350]
push eax
mov edx, 0xfde9
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0xd
call fcn.0044af2f
pop ecx
mov edi, eax
push 2
jmp 0x489838
mov ecx, dword [ebp - 0x398]
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x238]
call fcn.00404e5f
fld qword [0x4738d8]
fstp qword [ebp - 0x39c]
push 1
fld qword [ebp - 0x39c]
xor edi, edi
fsub qword [ebp - 0x39c]
lea esi, [ebp - 0x238]
fld qword [ebp - 0x39c]
fmul qword [0x4738b0]
fsubp st(1)
fsub qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fmul qword [0x4738a8]
faddp st(1)
fadd qword [ebp - 0x39c]
fsub qword [0x4738a0]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fadd qword [0x473898]
fstp qword [ebp - 0x39c]
call fcn.0040507d
or dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0x3a0]
call fcn.004048e8
call fcn.004500dc
ret 4