Function at 0x46a629
Capabilities:
Create directory

Disassembly:
push ebp
lea ebp, [esp - 0x278]
sub esp, 0x278
push 0xffffffffffffffff
push 0x4a0a94
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x4e3014]
xor eax, ebp
mov dword [ebp + 0x274], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x70], ecx
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov edx, 0x4af324
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.004142f5
mov esi, eax
lea eax, [ebp + 0x280]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__15]
push esi
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x25c]
call fcn.0041d12b
pop ecx
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov ecx, dword [ebp + 0x25c]
lea edx, [ebp]
call fcn.0046a147
mov edi, eax
cmp edi, 0xffffffff
je 0x46ad15
test byte [ebp], 0x10
lea eax, [ebp + 0x2c]
push eax
je 0x46a8c1
lea ecx, [ebp + 0x260]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__14]
lea ecx, [ebp + 0x260]
mov byte [ebp - 4], 7
call fcn.004234de
test al, al
je 0x46a730
mov edx, 0x4af334
lea ecx, [ebp - 0x20]
call fcn.004142f5
mov byte [ebp - 4], 8
lea ecx, [ebp + 0x260]
push dword [eax]
or ebx, 1
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
mov byte [ebp - 0xd], 1
test eax, eax
jne 0x46a734
mov byte [ebp - 0xd], 0
mov dword [ebp - 4], 7
test bl, 1
je 0x46a74c
lea ecx, [ebp - 0x20]
and ebx, 0xfffffffe
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0xd], 0
je 0x46a88f
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp + 0x268]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__14]
lea ecx, [ebp + 0x268]
mov byte [ebp - 4], 9
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__22]
cmp byte [ebp + 0x288], 0
je 0x46a89a
mov edx, 0x4b8570
lea ecx, [ebp - 0x24]
call fcn.004142f5
mov byte [ebp - 4], 0xa
lea ecx, [ebp + 0x268]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
lea ecx, [ebp - 0x24]
mov esi, eax
mov byte [ebp - 4], 9
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test esi, esi
je 0x46a883
mov esi, 0x4adf5c
lea edx, [ebp + 0x280]
push esi
lea ecx, [ebp - 0x2c]
call fcn.0041e805
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 0xc
push ecx
mov edx, eax
lea ecx, [ebp + 0x258]
call fcn.0041e805
pop ecx
pop ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push esi
lea edx, [ebp + 0x284]
lea ecx, [ebp - 0x30]
call fcn.0041e805
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 0xf
push ecx
mov edx, eax
lea ecx, [ebp + 0x264]
call fcn.0041e805
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x11
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0
push dword [ebp + 0x264]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push dword [ebp + 0x288]
lea eax, [ebp + 0x264]
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__15]
push ecx
lea eax, [ebp + 0x258]
mov byte [ebp - 4], 0x12
mov ecx, esp
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__15]
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 4], 0x11
call fcn.0046a629
lea ecx, [ebp + 0x264]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp + 0x258]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp + 0x268]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp + 0x260]
jmp 0x46acf9
mov edx, 0x4b7b50
lea ecx, [ebp - 0x28]
call fcn.004142f5
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 0x268]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
lea ecx, [ebp - 0x28]
jmp 0x46a7a5
lea ecx, [ebp + 0x270]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__14]
lea ecx, [ebp + 0x270]
mov byte [ebp - 4], 0x13
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__22]
cmp byte [ebp + 0x288], 0
je 0x46a9ab
mov edx, 0x4b8584
lea ecx, [ebp - 0x3c]
call fcn.004142f5
xor esi, esi
mov byte [ebp - 4], 0x14
push esi
push dword [eax]
or ebx, 2
lea ecx, [ebp + 0x270]
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__6]
test eax, eax
jns 0x46a96a
mov edx, 0x4b8590
lea ecx, [ebp - 0x38]
call fcn.004142f5
mov dword [ebp - 4], 0x15
lea ecx, [ebp + 0x270]
push esi
push dword [eax]
or ebx, 4
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__6]
test eax, eax
jns 0x46a96a
mov edx, 0x4b85a0
lea ecx, [ebp - 0x34]
call fcn.004142f5
push esi
lea ecx, [ebp + 0x270]
or ebx, 8
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__6]
mov byte [ebp - 0xd], 1
test eax, eax
js 0x46a96e
mov byte [ebp - 0xd], 0
test bl, 8
je 0x46a97f
lea ecx, [ebp - 0x34]
and ebx, 0xfffffff7
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test bl, 4
je 0x46a990
lea ecx, [ebp - 0x38]
and ebx, 0xfffffffb
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x13
and ebx, 0xfffffffd
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov al, byte [ebp - 0xd]
jmp 0x46ab51
mov edx, 0x4b65c4
lea ecx, [ebp - 0x54]
call fcn.004142f5
xor esi, esi
mov byte [ebp - 4], 0x16
push esi
push dword [eax]
or ebx, 0x10
lea ecx, [ebp + 0x270]
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__6]
test eax, eax
jns 0x46aacf
mov edx, 0x4b85ac
lea ecx, [ebp - 0x50]
call fcn.004142f5
mov dword [ebp - 4], 0x17
lea ecx, [ebp + 0x270]
push esi
push dword [eax]
or ebx, 0x20
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__6]
test eax, eax
jns 0x46aacf
mov edx, 0x4b85b8
lea ecx, [ebp - 0x4c]
call fcn.004142f5
mov dword [ebp - 4], 0x18
lea ecx, [ebp + 0x270]
push esi
push dword [eax]
or ebx, 0x40
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__6]
test eax, eax
jns 0x46aacf
mov edx, 0x4b85c4
lea ecx, [ebp - 0x48]
call fcn.004142f5
mov dword [ebp - 4], 0x19
lea ecx, [ebp + 0x270]
push esi
push dword [eax]
or ebx, 0x80
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__6]
test eax, eax
jns 0x46aacf
mov edx, 0x4b85d0
lea ecx, [ebp - 0x44]
call fcn.004142f5
mov dword [ebp - 4], 0x1a
lea ecx, [ebp + 0x270]
push dword [eax]
or ebx, 0x100
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
test eax, eax
je 0x46aacf
mov edx, 0x4b5a14
lea ecx, [ebp - 0x40]
call fcn.004142f5
mov dword [ebp - 4], 0x1b
lea ecx, [ebp + 0x270]
push dword [eax]
or ebx, 0x200
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
mov byte [ebp - 0xd], 0
test eax, eax
jne 0x46aad3
mov byte [ebp - 0xd], 1
test ebx, 0x200
je 0x46aaea
lea ecx, [ebp - 0x40]
and ebx, 0xfffffdff
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test ebx, 0x100
je 0x46ab01
lea ecx, [ebp - 0x44]
and ebx, 0xfffffeff
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test bl, bl
jns 0x46ab14
lea ecx, [ebp - 0x48]
and ebx, 0xffffff7f
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test bl, 0x40
je 0x46ab25
lea ecx, [ebp - 0x4c]
and ebx, 0xffffffbf
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
test bl, 0x20
je 0x46ab36
lea ecx, [ebp - 0x50]
and ebx, 0xffffffdf
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0x13
and ebx, 0xffffffef
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0xd], 0
je 0x46ab59
xor al, al
test al, al
je 0x46acf3
push 0x4adf5c
lea edx, [ebp + 0x280]
lea ecx, [ebp - 0x58]
call fcn.0041e805
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 0x1c
push ecx
mov edx, eax
lea ecx, [ebp + 0x250]
call fcn.0041e805
pop ecx
pop ecx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1e
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp + 0x26c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__14]
mov edx, 0x4b85e0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x60]
call fcn.004142f5
mov byte [ebp - 4], 0x20
lea ecx, [ebp + 0x26c]
push 0
push dword [eax]
or ebx, 0x400
mov dword [ebp - 0x14], ebx
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__6]
test eax, eax
jns 0x46abfd
mov edx, 0x4b7c90
lea ecx, [ebp - 0x5c]
call fcn.004142f5
push 0
lea ecx, [ebp + 0x26c]
or ebx, 0x800
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__6]
mov byte [ebp - 0xd], 1
test eax, eax
jns 0x46ac01
mov byte [ebp - 0xd], 0
test ebx, 0x800
je 0x46ac18
lea ecx, [ebp - 0x5c]
and ebx, 0xfffff7ff
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x1f
and ebx, 0xfffffbff
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
cmp byte [ebp - 0xd], 0
jne 0x46acdb
mov edx, 0x4b7c90
lea ecx, [ebp - 0x68]
call fcn.004142f5
mov esi, eax
mov edx, 0x4b85e0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x64]
call fcn.004142f5
mov byte [ebp - 4], 0x22
lea ecx, [ebp + 0x26c]
push dword [esi]
push dword [eax]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
lea ecx, [ebp - 0x64]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1f
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0x4adf5c
lea edx, [ebp + 0x284]
lea ecx, [ebp - 0x6c]
call fcn.0041e805
lea ecx, [ebp + 0x26c]
mov byte [ebp - 4], 0x23
push ecx
mov edx, eax
lea ecx, [ebp + 0x254]
call fcn.0041d12b
pop ecx
pop ecx
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x25
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edx, dword [ebp + 0x254]
push ecx
mov ecx, dword [ebp + 0x250]
call fcn.0049d8bc
pop ecx
lea ecx, [ebp + 0x254]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp + 0x26c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp + 0x250]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp + 0x270]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea edx, [ebp]
mov ecx, edi
call fcn.0048d819
test eax, eax
jne 0x46a6d6
mov ecx, edi
call fcn.0041c4b7
lea ecx, [ebp + 0x25c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp + 0x280]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp + 0x284]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x274]
xor ecx, ebp
call fcn.0042d374
add ebp, 0x278
leave
ret 0xc