Function at 0x401220
Capabilities:
Create directory
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x72c
mov eax, dword [0x4285e0]
push ebx
xor eax, ebp
push esi
push edi
mov dword [esp + 0x734], eax
xor eax, eax
mov byte [esp + 0x228], 0
mov ecx, 0x40
lea edi, [esp + 0x229]
rep stosd dword es:[edi], eax
mov ecx, dword [0x429560]
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea eax, [esp + 0x22c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x228]
push 0x421298
push edx
call fcn.0041090d
mov esi, eax
add esp, 8
test esi, esi
je 0x401565
mov eax, dword [0x428040]
push 0
push eax
push esi
call fcn.00410fa7
add esp, 0xc
test eax, eax
jne 0x40155c
push esi
push 1
lea ecx, [esp + 0x14]
push 4
push ecx
mov dword [esp + 0x1c], eax
call fcn.00410ecc
add esp, 0x10
cmp eax, 1
jne 0x40155c
mov eax, dword [esp + 0xc]
cmp eax, 0x20
jge 0x40155c
push esi
push eax
push 1
push 0x4296e4
call fcn.00410ecc
mov ecx, dword [esp + 0x1c]
add esp, 0x10
cmp ecx, eax
jne 0x40155c
push 0x40
push 0x429704
push 0x4296e4
call fcn.00403a70
push esi
push 1
lea edx, [esp + 0x20]
push 4
push edx
call fcn.00410ecc
add esp, 0x1c
cmp eax, 1
jne 0x40155c
mov eax, dword [esp + 0xc]
cmp eax, 0x20
jge 0x40155c
push esi
push eax
push 1
push 0x429724
call fcn.00410ecc
mov ecx, dword [esp + 0x1c]
add esp, 0x10
cmp ecx, eax
jne 0x40155c
push 0x40
push 0x429744
push 0x429724
call fcn.00403a70
add esp, 0xc
lea eax, [esp + 0x18]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push str.TLBBPatch
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
push 0
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x429724
push 0x4296e4
lea eax, [esp + 0x20]
push eax
push str._s_tlbb__s__s.xzip
push 0x104
push 0x429768
call fcn.00410d8c
push 0x421274
push 0x429768
call fcn.0041090d
mov ebx, eax
add esp, 0x20
test ebx, ebx
je 0x40155c
mov byte [esp + 0x330], 0
xor eax, eax
mov ecx, 0xff
lea edi, [esp + 0x331]
rep stosd dword es:[edi], eax
push esi
push 0x400
stosw word es:[edi], ax
lea ecx, [esp + 0x338]
push 1
push ecx
stosb byte es:[edi], al
call fcn.00410ecc
add esp, 0x10
test eax, eax
je 0x401437
push ebx
push eax
lea edx, [esp + 0x338]
push 1
push edx
call fcn.00410d40
mov al, byte [esi + 0xc]
add esp, 0x10
test al, 0x10
jne 0x401437
push esi
push 0x400
lea eax, [esp + 0x338]
push 1
push eax
call fcn.00410ecc
add esp, 0x10
test eax, eax
jne 0x401400
push ebx
call fcn.004107da
push esi
call fcn.004107da
push 0x429724
push 0x4296e4
lea ecx, [esp + 0x28]
push ecx
push str._stlbb_patchinfo__s__s.txt
lea edx, [esp + 0x138]
push 0x104
push edx
call fcn.00410d8c
call fcn.0040ad70
mov edi, eax
lea eax, [esp + 0x140]
push eax
push str.Update.txt
push 0x429768
push edi
mov dword [esp + 0x44], edi
call fcn.00403070
add esp, 0x30
test al, al
je 0x40153c
lea ecx, [esp + 0x120]
push 0x421298
push ecx
call fcn.0041090d
mov esi, eax
add esp, 8
test esi, esi
je 0x40153c
push 2
push 0
push esi
call fcn.00410fa7
push esi
call fcn.00410bf8
push 0
mov edi, eax
push 0
push esi
mov dword [esp + 0x2c], edi
call fcn.00410fa7
inc edi
push edi
call fcn.00410a88
mov ebx, eax
mov ecx, edi
mov edx, ecx
shr ecx, 2
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x30]
push esi
push eax
push 1
push ebx
call fcn.00410ecc
push esi
call fcn.004107da
mov ecx, dword [0x429564]
add esp, 0x34
push ebx
push 0
push 0xc
push 0x3e9
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push ebx
call fcn.00410a83
add esp, 4
lea edx, [esp + 0x120]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edi, dword [esp + 0x14]
push edi
call fcn.00406700
add esp, 4
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x728]
xor ecx, ebp
call fcn.00410a75
mov esp, ebp
pop ebp
ret
push esi
call fcn.004107da
add esp, 4
mov ecx, dword [esp + 0x734]
pop edi
pop esi
xor ecx, ebp
xor al, al
pop ebx
call fcn.00410a75
mov esp, ebp
pop ebp
ret