Function at 0x43e160
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44b6c6
mov eax, dword fs:[0]
push eax
sub esp, 0x12c
mov eax, dword [0x462304]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa4], ecx
mov eax, dword [ebp - 0xa4]
mov cl, byte [eax + 0xa5]
and cl, 1
movzx edx, cl
test edx, edx
je 0x43e1b1
mov eax, 1
jmp 0x43e96b
cmp dword [ebp + 8], 0
je 0x43e1c9
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa4]
add ecx, 4
call fcn.0040b880
mov ecx, dword [ebp - 0xa4]
mov dl, byte [ecx + 0x20]
and dl, 1
shl dl, 1
mov eax, dword [ebp - 0xa4]
mov cl, byte [eax + 0xa5]
and cl, 0xfd
or cl, dl
mov edx, dword [ebp - 0xa4]
mov byte [edx + 0xa5], cl
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0x88], edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x8c]
mov dword [ebp - 0x108], ecx
push str.BT_IEFRAME
lea ecx, [ebp - 0x58]
call fcn.00409b90
mov dword [ebp - 4], 0
push str.LIEFrameControl
lea ecx, [ebp - 0x40]
call fcn.00409b90
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xa4]
add edx, 0x90
push edx
mov eax, dword [ebp - 0xa4]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x40]
push eax
call fcn.00432c30
add esp, 0x14
mov byte [ebp - 0xae], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.0040ae50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0040ae50
movzx ecx, byte [ebp - 0xae]
test ecx, ecx
jne 0x43e29e
xor eax, eax
jmp 0x43e96b
mov dword [ebp - 0xb8], 0
push 0xf8
call fcn.00445c61
add esp, 4
mov dword [ebp - 0xc4], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0xc4], 0
je 0x43e30f
mov edx, dword [ebp - 0xa4]
push edx
push 1
mov eax, dword [ebp - 0xa4]
add eax, 0x30
push eax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x24
push ecx
mov edx, dword [ebp - 0xa4]
mov al, byte [edx + 0xa5]
shr al, 1
and al, 1
movzx ecx, al
push ecx
mov ecx, dword [ebp - 0xc4]
call fcn.004397a0
mov dword [ebp - 0xc8], eax
jmp 0x43e319
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x120], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x120]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0042ab10
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + 0x90]
mov dword [ebp - 0x124], edx
lea ecx, [ebp - 0xa8]
call fcn.0040bad0
mov ecx, dword [ebp - 0x124]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx + 0x88]
mov dword [ebp - 0x128], eax
lea ecx, [ebp - 0xa8]
call fcn.0040bad0
mov ecx, dword [ebp - 0x128]
mov dword [eax + 0x38], ecx
lea ecx, [ebp - 0xa8]
call fcn.0040bad0
mov dword [ebp - 0x12c], eax
mov edx, dword [ebp - 0xa4]
mov al, byte [edx + 0x50]
mov byte [ebp - 0xa9], al
movzx ecx, byte [ebp - 0xa9]
push ecx
mov ecx, dword [ebp - 0x12c]
call fcn.00441b50
lea ecx, [ebp - 0xa8]
call fcn.0040bad0
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0xa4]
add edx, 0x54
push edx
mov ecx, dword [ebp - 0x130]
call fcn.00441980
lea ecx, [ebp - 0x28]
call fcn.00409c20
mov byte [ebp - 4], 4
call fcn.00429aa0
test eax, eax
je 0x43e4a3
mov eax, dword [ebp - 0xa4]
add eax, 0xc4
push eax
lea ecx, [ebp - 0xa0]
push ecx
call fcn.0042f4a0
add esp, 8
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xd0]
push edx
lea ecx, [ebp - 0x28]
call fcn.0040b6a0
lea ecx, [ebp - 0xa0]
call fcn.0040ae50
push 0
lea ecx, [ebp - 0x28]
call fcn.00419c70
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov eax, dword [ebp - 0xa4]
add eax, 0xac
push eax
push 0x455414
lea ecx, [ebp - 0x88]
push ecx
call fcn.0042fb00
add esp, 0xc
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x28]
call fcn.0041e790
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x88]
call fcn.0040ae50
lea ecx, [ebp - 0xb4]
call fcn.00408ca0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb4]
call fcn.004094d0
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x28]
call fcn.0041a440
test eax, eax
je 0x43e4e8
call fcn.00429aa0
test eax, eax
je 0x43e4e8
lea ecx, [ebp - 0x28]
call fcn.00419c70
mov dword [ebp - 0xcc], eax
jmp 0x43e4f2
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xdc]
push ecx
push 0x4589b8
push 0
push 0
push 0
push 0
push 0x4001012
mov edx, dword [ebp - 0xcc]
push edx
call dword [sym.imp.ole32.dll_StgCreateStorageEx]
mov dword [ebp - 0xb8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0xb8], 0
jge 0x43e575
mov dword [ebp - 0xe0], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb4]
call fcn.0040af90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.0040ae50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.0040af90
mov eax, dword [ebp - 0xe0]
jmp 0x43e96b
lea ecx, [ebp - 0xbc]
call fcn.00408ca0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xbc]
call fcn.004094d0
mov dword [ebp - 0xe4], eax
lea ecx, [ebp - 0xb4]
call fcn.0040bad0
mov dword [ebp - 0xe8], eax
lea ecx, [ebp - 0xa8]
call fcn.0040bad0
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe4]
push eax
mov ecx, dword [ebp - 0xe8]
push ecx
mov edx, dword [ebp - 0xec]
push edx
push 0
push 1
push 0x4589d8
push 0x458af8
call dword [sym.imp.ole32.dll_OleCreate]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jge 0x43e640
mov dword [ebp - 0xf0], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xbc]
call fcn.0040af90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb4]
call fcn.0040af90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.0040ae50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.0040af90
mov eax, dword [ebp - 0xf0]
jmp 0x43e96b
push 1
lea ecx, [ebp - 0xbc]
call fcn.0040bad0
push eax
call dword [sym.imp.ole32.dll_OleSetContainedObject]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xa4]
mov cl, byte [eax + 0xa5]
or cl, 4
mov edx, dword [ebp - 0xa4]
mov byte [edx + 0xa5], cl
cmp dword [ebp - 0xb8], 0
jge 0x43e6cf
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xbc]
call fcn.0040af90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb4]
call fcn.0040af90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.0040ae50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.0040af90
mov eax, dword [ebp - 0xf4]
jmp 0x43e96b
lea eax, [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x94
call fcn.0043a2c0
lea ecx, [ebp - 0xb4]
push ecx
mov ecx, dword [ebp - 0xa4]
add ecx, 0x9c
call fcn.0043a2c0
lea edx, [ebp - 0xbc]
push edx
mov ecx, dword [ebp - 0xa4]
add ecx, 0x98
call fcn.0043a2c0
mov ecx, dword [ebp - 0xa4]
add ecx, 0x94
call fcn.0040bad0
mov dword [ebp - 0xf8], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x138], esp
mov eax, dword [ebp - 0xa4]
add eax, 0x98
push eax
call fcn.0042aad0
mov ecx, dword [ebp - 0xf8]
call fcn.00441ba0
push 1
mov ecx, dword [ebp - 0xa4]
call fcn.004417e0
push 1
mov ecx, dword [ebp - 0xa4]
call fcn.0043afa0
mov ecx, dword [ebp - 0xa4]
mov dl, byte [ecx + 0xa5]
or dl, 1
mov eax, dword [ebp - 0xa4]
mov byte [eax + 0xa5], dl
mov ecx, dword [ebp - 0xa4]
add ecx, 0x94
call fcn.0040bad0
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xa4]
mov dl, byte [ecx + 0x50]
mov byte [ebp - 0xaa], dl
movzx eax, byte [ebp - 0xaa]
push eax
mov ecx, dword [ebp - 0xfc]
call fcn.00441b50
mov ecx, dword [ebp - 0xa4]
add ecx, 0x94
call fcn.0040bad0
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xa4]
mov cl, byte [eax + 0x49]
mov byte [ebp - 0xab], cl
mov edx, dword [ebp - 0x100]
push edx
movzx eax, byte [ebp - 0xab]
push eax
mov ecx, dword [ebp - 0x104]
call fcn.004417c0
mov ecx, dword [ebp - 0xa4]
add ecx, 0x94
call fcn.0040bad0
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0xa4]
mov dl, byte [ecx + 0x48]
mov byte [ebp - 0xac], dl
movzx eax, byte [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x11c]
call fcn.004419c0
mov ecx, dword [ebp - 0xa4]
add ecx, 0x94
call fcn.0040bad0
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0xa4]
mov dl, byte [ecx + 0x20]
mov byte [ebp - 0xad], dl
movzx eax, byte [ebp - 0xad]
push eax
mov ecx, dword [ebp - 0x10c]
call fcn.00442820
mov dword [ebp - 0xc0], 0
jmp 0x43e89d
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xa4]
add ecx, 0x24
call fcn.004262a0
cmp dword [ebp - 0xc0], eax
jae 0x43e91f
mov ecx, dword [ebp - 0xa4]
add ecx, 0x94
call fcn.0040bad0
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0xa4]
add edx, 0x24
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0x110]
call fcn.004220d0
mov ecx, eax
call fcn.00419c50
push eax
lea ecx, [ebp - 0x70]
call fcn.004098b0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x70]
push ecx
mov ecx, dword [ebp - 0x114]
call fcn.0043a580
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x70]
call fcn.0040ae30
jmp 0x43e88e
mov dword [ebp - 0x118], 1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xbc]
call fcn.0040af90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb4]
call fcn.0040af90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.0040ae50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.0040af90
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00446150
mov esp, ebp
pop ebp
ret 4