Function at 0x542bf1
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x7b088c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
call sym.txupd.exe_IsCompanyInternal
test eax, eax
je 0x542f64
push esi
mov esi, dword [0x7b6924]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x5c
pop eax
push 0x74
pop edi
push 0x65
pop edx
push 0x6e
mov word [ebp - 0x8c], ax
mov word [ebp - 0x8a], ax
pop eax
push 0x63
pop ecx
push 0x2e
mov word [ebp - 0x84], ax
mov word [ebp - 0x7e], ax
pop eax
push 0x6f
mov word [ebp - 0x7a], ax
pop eax
push 0x6d
mov word [ebp - 0x76], ax
mov word [ebp - 0x82], cx
mov word [ebp - 0x78], cx
pop ecx
push 0x5c
pop eax
push 0x66
mov word [ebp - 0x72], ax
pop eax
push 0x73
mov word [ebp - 0x6e], ax
pop eax
push 0x5c
mov word [ebp - 0x6c], ax
mov eax, 0x76ee
mov word [ebp - 0x88], di
mov word [ebp - 0x7c], di
mov word [ebp - 0x70], di
pop edi
push 0x68
mov word [ebp - 0x60], ax
pop eax
push 0x75
and dword [ebp - 0xa0], 0
mov word [ebp - 0x5c], ax
pop eax
push 0x72
mov word [ebp - 0x6a], di
mov word [ebp - 0x5e], di
pop edi
push 0x70
mov word [ebp - 0x5a], ax
pop eax
push 0x6f
mov word [ebp - 0x50], ax
pop eax
push 0x74
mov word [ebp - 0x4e], ax
pop eax
push 0x61
mov word [ebp - 0x86], dx
mov word [ebp - 0x80], dx
mov word [ebp - 0x54], dx
pop edx
push 0x6c
mov word [ebp - 0x74], cx
mov word [ebp - 0x58], cx
mov word [ebp - 0x56], cx
pop ecx
mov dword [ebp - 0x68], 0x90e88de8
mov dword [ebp - 0x64], 0x987995e8
mov word [ebp - 0x52], di
mov word [ebp - 0x4c], di
mov word [ebp - 0x4a], ax
mov word [ebp - 0x48], dx
mov word [ebp - 0x46], cx
push 0x5c
pop eax
push 0x50
mov word [ebp - 0x44], ax
pop eax
push 0x75
mov word [ebp - 0x42], ax
pop eax
push 0x62
mov word [ebp - 0x40], ax
pop eax
push 0x69
mov word [ebp - 0x3e], ax
pop eax
push 0x63
mov word [ebp - 0x3a], ax
pop eax
push 0x5c
mov word [ebp - 0x38], ax
pop eax
push 0x54
mov word [ebp - 0x36], ax
pop eax
push 0x65
mov word [ebp - 0x34], ax
pop eax
push 0x6d
mov word [ebp - 0x32], ax
pop eax
push 0x70
mov word [ebp - 0x30], ax
mov word [ebp - 0x3c], cx
pop ecx
push 0x5c
pop eax
push 0x73
mov word [ebp - 0x2c], ax
pop eax
push 0x68
mov word [ebp - 0x2a], ax
pop eax
push 0x6b
mov word [ebp - 0x28], ax
pop eax
push 0x78
mov word [ebp - 0x22], ax
pop eax
push 0x75
mov word [ebp - 0x20], ax
pop eax
push 0x5c
mov word [ebp - 0x24], di
pop edi
push 0x6f
mov word [ebp - 0x26], dx
pop edx
push 0x74
mov word [ebp - 0x1a], dx
pop edx
push 0x25
mov word [ebp - 0x1e], ax
mov word [ebp - 0x18], ax
mov word [ebp - 0x12], ax
pop eax
mov word [ebp - 0xc], ax
push 0x73
pop eax
mov word [ebp - 0xa], ax
xor eax, eax
mov word [ebp - 0x2e], cx
mov word [ebp - 0x14], cx
lea ecx, [ebp - 0x90]
mov word [ebp - 0x1c], di
mov word [ebp - 0x16], dx
mov word [ebp - 0x10], dx
mov word [ebp - 0xe], di
mov word [ebp - 8], ax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_void_
mov eax, dword [0x7b690c]
add eax, 0x10
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
call sym.txupd.exe_public:_void___cdecl_CTXStringW::Format_wchar_t_const__
add esp, 0xc
lea ecx, [edi + 0x2a]
lea eax, [ebp - 0x8c]
mov byte [eax], 0
inc eax
sub ecx, 1
jne 0x542dff
cmp dword [0x7b69b8], ecx
jne 0x542e30
push ecx
lea ecx, [ebp - 0x90]
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [0x7b69b8], eax
test eax, eax
je 0x542f23
push ebx
lea ecx, [ebp - 0x98]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__
mov ecx, dword [0x7b6928]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.0054218e
lea ecx, [ebp - 0x98]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
mov ecx, dword [0x7b6928]
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ecx]
je 0x542e78
mov edi, dword [eax + 0x14]
jmp 0x542f02
lea ecx, [ebp - 0x94]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_void_
push ebx
lea ecx, [ebp - 0x90]
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
lea eax, [ebp - 0x94]
push 0x711fc4
push eax
call sym.txupd.exe_public:_void___cdecl_CTXStringW::Format_wchar_t_const__
add esp, 0x10
lea ecx, [ebp - 0x94]
push 0x711fd0
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
push eax
call fcn.006ada80
pop ecx
pop ecx
push ebx
lea ecx, [ebp - 0x9c]
mov edi, eax
call sym.txupd.exe_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__
mov ecx, dword [0x7b6928]
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0053e89a
mov eax, dword [ebp - 0xac]
lea ecx, [ebp - 0x9c]
mov dword [eax + 0x14], edi
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
lea ecx, [ebp - 0x94]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
test edi, edi
je 0x542f23
push dword [ebp + 0xc]
push edi
call fcn.00543304
cmp dword [ebp + 0x10], 0
pop ecx
pop ecx
je 0x542f1e
push edi
call fcn.006bc36d
pop ecx
xor ebx, ebx
inc ebx
jmp 0x542f29
mov ebx, dword [ebp - 0xa0]
lea ecx, [ebp - 0x90]
call sym.txupd.exe_public:_int___thiscall_CTXStringW::GetLength_void_const
lea ecx, [ebp - 0x90]
mov edi, eax
call sym.txupd.exe_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const
add edi, edi
je 0x542f4e
mov byte [eax], 0
inc eax
sub edi, 1
jne 0x542f45
lea ecx, [ebp - 0x90]
call sym.txupd.exe_public:_void___thiscall_CTXStringW::destructor_void_
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
mov eax, ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00682c16
mov esp, ebp
pop ebp
ret