Function at 0x43ce96
Capabilities:
Create directory

Disassembly:
push 0xa0
mov eax, 0x458ed3
call fcn.00453a9e
mov ebx, ecx
mov eax, dword [ebx + 0x14]
cmp eax, 8
jb 0x43ceb1
mov ecx, dword [ebx]
test ecx, ecx
je 0x43cec2
cmp eax, 8
jb 0x43cebe
mov eax, dword [ebx]
jmp 0x43cec7
mov eax, ebx
jmp 0x43cec7
mov eax, dword [str._vDMsV]
push eax
lea eax, [ebp - 0x84]
call fcn.004054fa
and dword [ebp - 4], 0
lea eax, [ebp - 0x84]
push eax
mov ecx, 0xfde9
lea edx, [ebp - 0xa0]
call fcn.0044d635
pop ecx
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x43cefb
mov eax, dword [eax]
push eax
push dword [0x47e244]
push dword [0x47e13c]
push 0
call fcn.0043e92e
add esp, 0x10
push 1
xor edi, edi
lea esi, [ebp - 0xa0]
call fcn.0040508f
or dword [ebp - 4], 0xffffffff
push 1
lea esi, [ebp - 0x84]
call fcn.004053d3
push ebx
lea esi, [ebp - 0x30]
call fcn.00409704
push 2
pop edx
push 8
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x30]
pop ebx
cmp dword [ebp - 0x1c], ebx
jae 0x43cf4e
mov eax, esi
mov ecx, dword [ebp - 0x20]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], ebx
jae 0x43cf6f
lea eax, [ebp - 0x30]
jmp 0x43cf6f
cmp word [eax], 0x2f
jne 0x43cf6d
push 0x5c
pop esi
mov word [eax], si
add eax, edx
cmp eax, ecx
jne 0x43cf61
push 7
pop edi
mov dword [ebp - 0xa4], edi
add dword [ebp - 0xa4], 0xffffffb6
add dword [ebp - 0xa4], 0x3f
cmp byte [ebp + 8], 0
je 0x43cfbd
lea esi, [ebp - 0x30]
call fcn.0040897c
lea ecx, [eax + 1]
neg ecx
sbb ecx, ecx
and ecx, eax
or eax, 0xffffffff
call fcn.00405144
mov dword [ebp - 0xa4], edi
add dword [ebp - 0xa4], 0xffffffb6
add dword [ebp - 0xa4], 0x3f
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x43cfda
mov bl, 1
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.004053d3
mov al, bl
call fcn.00453b21
ret
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], ebx
jae 0x43cfe5
lea eax, [ebp - 0x30]
lea eax, [eax + ecx*2]
cmp word [eax - 2], 0x5c
je 0x43cff9
push 0x5c
lea eax, [ebp - 0x30]
call fcn.00408942
mov dword [ebp - 0xa4], 0x43
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
imul eax, ecx
imul eax, eax, 0x23
push 0x13
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0xa4]
push 0x1a
add ecx, dword [ebp - 0xa4]
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xa4], ecx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
imul eax, ecx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
imul eax, ecx
imul eax, eax, 0x4a
add eax, dword [ebp - 0xa4]
add eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
sub eax, ecx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0xa4]
add ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xa4], ecx
mov eax, dword [ebp - 0xa4]
imul eax, eax, 0x25
add eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
add dword [ebp - 0xa4], 0x2f
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
imul eax, eax, 0x55
imul ecx, ecx, 0x45
sub eax, ecx
mov ecx, dword [ebp - 0xa4]
sub eax, ecx
add eax, dword [ebp - 0xa4]
add eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
imul eax, eax, 0x14
sub ecx, eax
mov eax, dword [ebp - 0xa4]
sub ecx, eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xa4], ecx
cmp dword [ebp - 0x1c], ebx
jae 0x43d110
lea eax, [ebp - 0x30]
fld qword [0x4779f8]
mov dword [ebp - 0xa4], eax
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fld qword [0x4779f0]
fmul st(1), st(0)
fld qword [ebp - 0xac]
fmulp st(2)
fld qword [ebp - 0xac]
fdiv qword [0x4779e8]
faddp st(2)
fld qword [ebp - 0xac]
fsubp st(2)
fld qword [ebp - 0xac]
fmul qword [0x4779e0]
fmul qword [0x4779d8]
fmul qword [ebp - 0xac]
fsubp st(2)
fld qword [ebp - 0xac]
faddp st(2)
fld qword [ebp - 0xac]
faddp st(2)
fld qword [ebp - 0xac]
fmul qword [ebp - 0xac]
fmul qword [ebp - 0xac]
faddp st(2)
fxch st(1)
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fld qword [ebp - 0xac]
fdiv qword [0x4779d0]
fsubp st(1)
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x4779c8]
fld qword [ebp - 0xac]
fsub qword [0x4779c0]
faddp st(1)
fsub qword [ebp - 0xac]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fsub qword [0x4779b8]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x4779b0]
fadd qword [ebp - 0xac]
fadd qword [0x4779a8]
fld qword [ebp - 0xac]
fmul qword [0x4779a0]
faddp st(1)
fsub qword [ebp - 0xac]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fsub qword [0x477998]
fld qword [ebp - 0xac]
fmul qword [ebp - 0xac]
fdiv qword [0x477990]
fsubp st(1)
fadd qword [ebp - 0xac]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fdiv qword [0x477988]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x477980]
fdiv qword [0x477978]
fsubp st(1)
fld qword [ebp - 0xac]
fmulp st(2)
fsubrp st(1)
fsub qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fsub qword [ebp - 0xac]
fadd qword [ebp - 0xac]
fsub qword [0x477970]
fld qword [ebp - 0xac]
fmul qword [ebp - 0xac]
faddp st(1)
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fsub qword [0x477968]
fstp qword [ebp - 0xac]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], ebx
jae 0x43d30b
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + ecx*2]
cmp dword [ebp - 0xa4], eax
je 0x43d3a5
mov eax, dword [ebp - 0xa4]
cmp word [eax], 0x5c
jne 0x43d393
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], ebx
jae 0x43d334
lea eax, [ebp - 0x30]
push dword [ebp - 0xa4]
and dword [ebp - 0x3c], 0
push dword [ebp - 0xa4]
xor ecx, ecx
push eax
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x38], edi
mov word [ebp - 0x4c], cx
call fcn.00409204
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x38], ebx
jae 0x43d366
lea eax, [ebp - 0x4c]
push eax
call fcn.0043f8ea
mov ebx, eax
neg ebx
sbb bl, bl
push 1
xor edi, edi
lea esi, [ebp - 0x4c]
mov byte [ebp - 4], 2
call fcn.004053d3
inc bl
je 0x43d393
call fcn.0043f1f9
call dword [eax + 0x4c]
cmp eax, 5
jne 0x43d3a5
add dword [ebp - 0xa4], 2
push 7
pop edi
push 8
pop ebx
jmp 0x43d300
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x43d3b1
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xa4]
cmp ecx, eax
je 0x43cfc4
cmp word [ecx], 0x5c
jne 0x43d424
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
jae 0x43d3d7
lea eax, [ebp - 0x30]
push dword [ebp - 0xa4]
and dword [ebp - 0x58], 0
push ecx
push eax
lea eax, [ebp - 0x68]
xor edx, edx
push eax
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], dx
call fcn.00409204
cmp dword [ebp - 0x54], 8
mov eax, dword [ebp - 0x68]
jae 0x43d405
lea eax, [ebp - 0x68]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ebx, eax
neg ebx
sbb bl, bl
push 1
xor edi, edi
lea esi, [ebp - 0x68]
call fcn.004053d3
inc bl
jne 0x43d430
add dword [ebp - 0xa4], 2
jmp 0x43d3a5
xor bl, bl
jmp 0x43cfc6