Function at 0x10003940
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
push ebx
xor eax, eax
mov dword [ebp - 0xa8], ecx
push esi
xorps xmm0, xmm0
mov dword [ebp - 0xac], edx
push edi
mov edi, 7
mov dword [ebp - 0x4c], eax
movups xmmword [ebp - 0x2c], xmm0
xor esi, esi
mov dword [ebp - 0x18], edi
movups xmmword [ebp - 0x5c], xmm0
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x1c], esi
movups xmmword [ebp - 0x10c], xmm0
mov word [ebp - 0x2c], ax
mov dword [ebp - 0x48], edi
mov word [ebp - 0x5c], ax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], edi
mov word [ebp - 0x10c], ax
call fcn.10003590
lea ecx, [ebp - 0x2c]
cmp ecx, eax
je 0x100039cb
movups xmm0, xmmword [eax]
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x10], esi
mov esi, dword [ebp - 0x1c]
mov dword [eax + 0x14], edi
mov edi, dword [ebp - 0x18]
mov word [eax], cx
mov ecx, dword [ebp - 0x60]
cmp ecx, 8
jb 0x10003a05
mov edx, dword [ebp - 0x74]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100039fb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004266
push ecx
push edx
call fcn.10004f49
add esp, 8
lea ecx, [ebp - 0x74]
call fcn.10003780
lea ecx, [ebp - 0x10c]
cmp ecx, eax
je 0x10003a41
movups xmm0, xmmword [eax]
xor ecx, ecx
movups xmmword [ebp - 0x10c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xfc], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov ecx, dword [ebp - 0x60]
cmp ecx, 8
jb 0x10003a7b
mov edx, dword [ebp - 0x74]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10003a71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000426b
push ecx
push edx
call fcn.10004f49
add esp, 8
push 0x11
push 0x10015d40
lea ecx, [ebp - 0x5c]
call fcn.10004750
push 0x19
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
push str.C:ProgramDataupdataerro
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x78], 0
movups xmmword [ebp - 0x8c], xmm0
call fcn.10004a50
cmp dword [ebp - 0x78], 8
lea eax, [ebp - 0x8c]
push 0
cmovae eax, dword [ebp - 0x8c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push ecx
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0xf4]
call fcn.10004990
add esp, 4
lea ecx, [ebp - 0x2c]
cmp edi, 8
cmovae ecx, dword [ebp - 0x2c]
push esi
push ecx
mov ecx, eax
call fcn.10004c40
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x74], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov ecx, dword [ebp - 0xe0]
movq qword [ebp - 0x64], xmm0
cmp ecx, 8
jb 0x10003b5a
mov edx, dword [ebp - 0xf4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10003b50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004270
push ecx
push edx
call fcn.10004f49
add esp, 8
push ecx
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0xdc]
call fcn.10004990
add esp, 4
lea ecx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 8
cmovae ecx, dword [ebp - 0x5c]
push dword [ebp - 0x4c]
push ecx
mov ecx, eax
call fcn.10004c40
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xf4], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov ecx, dword [ebp - 0xc8]
movq qword [ebp - 0xe4], xmm0
cmp ecx, 8
jb 0x10003bef
mov edx, dword [ebp - 0xdc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10003be5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004275
push ecx
push edx
call fcn.10004f49
add esp, 8
push ecx
lea edx, [ebp - 0x10c]
lea ecx, [ebp - 0xc4]
call fcn.10004990
add esp, 4
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
cmovae ecx, dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.10004c40
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xdc], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov ecx, dword [ebp - 0xb0]
movq qword [ebp - 0xcc], xmm0
cmp ecx, 8
jb 0x10003c84
mov edx, dword [ebp - 0xc4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10003c7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000427a
push ecx
push edx
call fcn.10004f49
add esp, 8
push ecx
lea edx, [ebp - 0x10c]
lea ecx, [ebp - 0xa4]
call fcn.10004990
add esp, 4
lea ecx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 8
cmovae ecx, dword [ebp - 0x5c]
push dword [ebp - 0x4c]
push ecx
mov ecx, eax
call fcn.10004c40
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xc4], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov ecx, dword [ebp - 0x90]
movq qword [ebp - 0xb4], xmm0
cmp ecx, 8
jb 0x10003d19
mov edx, dword [ebp - 0xa4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10003d0f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000427f
push ecx
push edx
call fcn.10004f49
add esp, 8
xorps xmm0, xmm0
push 0x20
movups xmmword [ebp - 0x128], xmm0
call fcn.10004be0
movups xmm0, xmmword [str.C:ProgramDataupdataerro_]
mov ebx, eax
movups xmmword [ebx], xmm0
movq xmm0, qword [0x10015da8]
movq qword [ebx + 0x10], xmm0
mov cx, word [0x10015db0]
mov word [ebx + 0x18], cx
lea ecx, [ebp - 0xa4]
mov byte [ebx + 0x1a], 0
call fcn.10003400
mov edx, dword [ebp - 0x94]
cmp edx, 0x7fffffe5
ja 0x10004284
cmp dword [ebp - 0x90], 0x10
lea eax, [ebp - 0xa4]
lea ecx, [edx + 0x1a]
mov dword [ebp - 0x34], 0
cmovae eax, dword [ebp - 0xa4]
lea edi, [ebp - 0x44]
mov esi, 0xf
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], 0
xorps xmm0, xmm0
mov dword [ebp - 8], ecx
movups xmmword [ebp - 0x44], xmm0
cmp ecx, esi
jbe 0x10003e2c
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10003dec
mov ecx, 0x80000000
mov esi, 0x7fffffff
add ecx, 0x23
push ecx
call fcn.10004f19
add esp, 4
test eax, eax
je 0x1000428e
mov ecx, dword [ebp - 8]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x94]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x10003e29
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x10003e0d
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x10004289
jmp 0x10003dc7
test eax, eax
je 0x10003e27
push eax
call fcn.10004f19
mov ecx, dword [ebp - 8]
add esp, 4
mov edx, dword [ebp - 0x94]
mov edi, eax
jmp 0x10003e29
xor edi, edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
movups xmm0, xmmword [ebx]
push edx
push dword [ebp - 0x10]
movups xmmword [edi], xmm0
movq xmm0, qword [ebx + 0x10]
movq qword [edi + 0x10], xmm0
mov ax, word [ebx + 0x18]
mov word [edi + 0x18], ax
lea eax, [edi + 0x1a]
push eax
call fcn.10006a70
mov eax, dword [ebp - 0x94]
add esp, 0xc
mov byte [edi + eax + 0x1a], 0
mov ecx, dword [ebp - 0x30]
mov eax, ecx
mov edi, dword [ebp - 0x34]
sub eax, edi
push 9
cmp eax, 9
jb 0x10003ea1
cmp ecx, 0x10
lea esi, [ebp - 0x44]
lea eax, [edi + 9]
cmovae esi, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
push str._starYUAN
lea eax, [esi + edi]
push eax
call fcn.10006a70
add esp, 0xc
mov byte [esi + edi + 9], 0
lea eax, [ebp - 0x44]
jmp 0x10003eb3
push ecx
mov byte [ebp - 0x10], 0
lea ecx, [ebp - 0x44]
push dword [ebp - 0x10]
push 9
call fcn.10004dc0
movups xmm0, xmmword [eax]
push 0x20
push ebx
movups xmmword [ebp - 0x13c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.10004f49
movups xmm0, xmmword [ebp - 0x13c]
mov ecx, dword [ebp - 0x30]
add esp, 8
movups xmmword [ebp - 0x128], xmm0
movq xmm0, qword [ebp - 0x14]
movq qword [ebp - 0x118], xmm0
cmp ecx, 0x10
jb 0x10003f32
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003f28
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000428e
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x74]
cmp ecx, eax
je 0x10003f4d
cmp dword [ebp - 0x60], 8
push dword [ebp - 0x64]
cmovae eax, dword [ebp - 0x74]
push eax
call fcn.10004750
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0xf4]
cmp ecx, eax
je 0x10003f74
cmp dword [ebp - 0xe0], 8
push dword [ebp - 0xe4]
cmovae eax, dword [ebp - 0xf4]
push eax
call fcn.10004750
mov ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0xdc]
cmp ecx, eax
je 0x10003f9e
cmp dword [ebp - 0xc8], 8
push dword [ebp - 0xcc]
cmovae eax, dword [ebp - 0xdc]
push eax
call fcn.10004750
mov ecx, dword [ebp - 0xac]
lea eax, [ebp - 0xc4]
cmp ecx, eax
je 0x10003fc8
cmp dword [ebp - 0xb0], 8
push dword [ebp - 0xb4]
cmovae eax, dword [ebp - 0xc4]
push eax
call fcn.10004750
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x128]
cmp ecx, eax
je 0x10003fef
cmp dword [ebp - 0x114], 0x10
push dword [ebp - 0x118]
cmovae eax, dword [ebp - 0x128]
push eax
call fcn.10004850
mov eax, dword [ebp - 0x90]
cmp eax, 0x10
jb 0x1000402b
mov edx, dword [ebp - 0xa4]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x10004021
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp - 0x114]
cmp ecx, 0x10
jb 0x10004065
mov edx, dword [ebp - 0x128]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000405b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp - 0xb0]
cmp ecx, 8
jb 0x100040a5
mov edx, dword [ebp - 0xc4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000409b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp - 0xc8]
cmp ecx, 8
jb 0x100040e5
mov edx, dword [ebp - 0xdc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100040db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp - 0xe0]
cmp ecx, 8
jb 0x10004125
mov edx, dword [ebp - 0xf4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000411b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp - 0x60]
cmp ecx, 8
jb 0x1000415f
mov edx, dword [ebp - 0x74]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10004155
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp - 0x78]
cmp ecx, 8
jb 0x1000419c
mov edx, dword [ebp - 0x8c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10004192
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp - 0xf8]
xor eax, eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
cmp ecx, 8
jb 0x100041f3
mov edx, dword [ebp - 0x10c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100041e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp - 0x48]
cmp ecx, 8
jb 0x10004229
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000421f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x1000425f
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10004255
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004293
push ecx
push edx
call fcn.10004f49
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10008644
call fcn.10008644
call fcn.10008644
call fcn.10008644
call fcn.10008644
call fcn.10008644
call fcn.100033f0
call fcn.10003350
call fcn.10008644
call fcn.10008644
int3