Function at 0x40b550
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x45b226
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4737e0]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov edi, ecx
call fcn.00424037
mov eax, dword [edi + 0x20]
push 0
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
call fcn.004260d6
mov ebx, eax
test ebx, ebx
je 0x40b631
call fcn.0041d42a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40b5b4
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x14], esi
push 0x65
mov dword [esp + 0x2c], 0
call fcn.0041d3fa
test eax, eax
je 0x40b5e7
push 0x65
push eax
lea ecx, [esp + 0x1c]
call fcn.00401c30
mov esi, dword [esp + 0x14]
cmp dword [esi - 0xc], 0
je 0x40b60d
mov ecx, dword [ebx + 4]
mov ebp, dword [sym.imp.USER32.dll_AppendMenuW]
push 0
push 0
push 0x800
push ecx
call ebp
mov edx, dword [ebx + 4]
push esi
push 0x10
push 0
push edx
call ebp
lea eax, [esi - 0x10]
mov dword [esp + 0x28], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b631
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [edi + 0x74]
mov ecx, dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 1
push 0x80
push ecx
call esi
mov eax, dword [edi + 0x74]
mov edx, dword [edi + 0x20]
push eax
push 0
push 0x80
push edx
call esi
push 0x465550
mov ecx, edi
call fcn.0042b7f4
push 8
call sub.gdiplus.dll_GdipAlloc
mov esi, eax
test esi, esi
je 0x40b68a
push esi
push 0
push 0x46555c
mov dword [esi], 0
call sub.gdiplus.dll_GdipCreateFontFamilyFromName
mov dword [esi + 4], eax
jmp 0x40b68c
xor esi, esi
mov dword [edi + 0x158], esi
cmp dword [esi], 0
jne 0x40b6ce
push 8
call sub.gdiplus.dll_GdipAlloc
mov esi, eax
test esi, esi
je 0x40b6bc
push esi
push 0
push 0x465568
mov dword [esi], 0
call sub.gdiplus.dll_GdipCreateFontFamilyFromName
mov dword [esi + 4], eax
jmp 0x40b6be
xor esi, esi
mov dword [edi + 0x158], esi
mov dword [edi + 0x154], 1
lea ebx, [edi + 0x18c]
mov esi, ebx
call fcn.00415060
mov esi, edi
call fcn.0040d3a0
mov eax, edi
call fcn.0040d4d0
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call esi
push 1
mov ebp, eax
call esi
mov ecx, dword [edi + 0x13c]
mov esi, dword [edi + 0x138]
sub eax, ecx
cdq
push 0
sub eax, edx
push ecx
sar eax, 1
push esi
push eax
mov eax, ebp
sub eax, esi
cdq
sub eax, edx
sar eax, 1
push eax
push 0
mov ecx, edi
call fcn.0042baf8
push 5
push str.patch
mov ecx, ebx
call fcn.004032e0
mov eax, dword [ebx]
push ecx
sub eax, 0x10
mov dword [esp + 0x18], esp
mov esi, esp
push eax
call fcn.00401ff0
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.004154f0
add esp, 4
test eax, eax
jne 0x40b763
mov eax, dword [ebx]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x2c
call fcn.0041d34d
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], 1
test eax, eax
je 0x40b785
push eax
call fcn.0040b160
jmp 0x40b787
xor eax, eax
mov dword [esp + 0x28], 0xffffffff
lea esi, [edi + 0x190]
mov ecx, edi
mov dword [esi], eax
call fcn.0040dd40
push 1
push 0x462fd4
mov ecx, ebx
call fcn.004032e0
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
cmp dword [ecx - 0xc], 0
je 0x40b82a
push 0xc
call fcn.0041d34d
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], 2
test eax, eax
je 0x40b80f
mov ebx, dword [ebx]
push ecx
sub ebx, 0x10
mov dword [esp + 0x1c], esp
mov ebp, esp
push ebx
call fcn.00401ff0
add eax, 0x10
mov dword [ebp], eax
mov ecx, esp
mov dword [esp + 0x24], esp
push str.engin.zip
mov byte [esp + 0x34], 3
call fcn.00401ac0
mov edx, dword [esp + 0x1c]
push edx
mov byte [esp + 0x34], 2
call fcn.00402390
jmp 0x40b811
xor eax, eax
mov dword [esp + 0x28], 0xffffffff
mov dword [edi + 0x160], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
push esi
call fcn.0040e750
push edi
mov dword [0x477fdc], edi
call fcn.0040f570
mov ebx, edi
call fcn.0040c170
call fcn.00414b60
mov eax, 1
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret