Function at 0x40d8f6
Capabilities:
Create directory
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x486701
mov eax, dword fs:[0]
push eax
mov eax, 0x1190
call fcn.004575f0
mov eax, dword [0x4aeda0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push eax
mov dword [ebp - 0x1140], eax
call fcn.00436e44
pop ecx
test eax, eax
je 0x40d969
push str.UnzipAllFile:
push str._s_unzGoToFirstFile_failed
push 0x68
push ecx
call fcn.0041ef10
pop ecx
push eax
mov ebx, 0x800002
mov ecx, str..WrapperArchive.cpp
call fcn.0041f0d0
add esp, 0x10
xor eax, eax
jmp 0x40dcfe
cmp dword [0x4b32a4], 8
mov eax, dword [0x4b3290]
mov edi, 0x4b3290
jae 0x40d97e
mov eax, edi
push eax
lea eax, [ebp - 0x1164]
call fcn.004017d2
xor ebx, ebx
lea eax, [ebp - 0x1164]
push ebx
push eax
mov dword [ebp - 4], ebx
call fcn.00425d30
pop ecx
neg eax
pop ecx
sbb al, al
or dword [ebp - 4], 0xffffffff
push ebx
inc al
push 1
lea esi, [ebp - 0x1164]
mov byte [ebp - 0x1139], al
call fcn.004019bb
cmp byte [ebp - 0x1139], bl
je 0x40d9fd
cmp dword [0x4b32a4], 8
jb 0x40d9d3
mov edi, dword [0x4b3290]
push edi
push str.UnzipAllFile:
push str._s_CreateDirectory__S__failed
push 0x6d
call fcn.0041ef10
push eax
mov ebx, 0x800002
mov ecx, str..WrapperArchive.cpp
call fcn.0041f0d0
add esp, 0x14
jmp 0x40d962
mov dword [ebp - 0x1144], 1
push 0x103
lea eax, [ebp - 0x11b]
push ebx
push eax
mov byte [ebp - 0x11c], bl
call fcn.004504c0
add esp, 0xc
push ebx
push ebx
push ebx
push ebx
push 0x104
lea eax, [ebp - 0x11c]
push eax
push ebx
push dword [ebp - 0x1140]
call fcn.00436e1d
add esp, 0x20
cmp byte [ebp - 0x11c], bl
je 0x40dcb6
push dword [ebp - 0x1140]
call fcn.00437780
test eax, eax
pop ecx
lea eax, [ebp - 0x11c]
push eax
jne 0x40dccd
lea ecx, [ebp - 0x1164]
call fcn.00401efd
push ebx
lea edi, [ebp - 0x1164]
lea ecx, [ebp - 0x119c]
mov dword [ebp - 4], 1
call fcn.004264d0
mov esi, eax
mov byte [ebp - 4], 2
mov dword [esp], 0x49b660
lea eax, [ebp - 0x1180]
push 0x4b328c
push eax
call fcn.00401e38
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x1138]
push eax
mov byte [ebp - 4], 3
call fcn.0040b38b
add esp, 0xc
xor edi, edi
push ebx
inc edi
push edi
lea esi, [ebp - 0x1180]
call fcn.004019bb
push ebx
push edi
lea esi, [ebp - 0x119c]
call fcn.004019bb
push ebx
push edi
lea ecx, [ebp - 0x1164]
mov byte [ebp - 4], 7
call fcn.0040230d
lea eax, [ebp - 0x11c]
push 0x2f
push eax
call fcn.00453e70
pop ecx
pop ecx
cmp eax, ebx
je 0x40db5a
cmp byte [eax + 1], bl
jne 0x40db5a
mov eax, dword [ebp - 0x1124]
dec eax
lea ecx, [ebp - 0x1138]
call fcn.0040e45b
cmp dword [ebp - 0x1120], 8
mov eax, dword [ebp - 0x1134]
jae 0x40db30
lea eax, [ebp - 0x1134]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push dword [ebp - 0x1140]
call fcn.004372dd
or dword [ebp - 4], 0xffffffff
pop ecx
push ebx
push edi
lea esi, [ebp - 0x1138]
call fcn.004019bb
jmp 0x40dcb6
cmp dword [ebp - 0x1120], 8
mov esi, dword [ebp - 0x1134]
jae 0x40db6f
lea esi, [ebp - 0x1134]
push 2
push ebx
push ebx
push 0x40000000
mov edi, 0x80
call fcn.00425c10
mov edi, eax
add esp, 0x10
cmp edi, 0xffffffff
jne 0x40dbe0
cmp dword [ebp - 0x1120], 8
mov esi, dword [ebp - 0x1134]
jae 0x40dba1
lea esi, [ebp - 0x1134]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str.UnzipAllFile:
push str._s_cant_drop_file__S___d_
push 0x97
push ecx
call fcn.0041ef10
pop ecx
push eax
mov ebx, 0x800002
mov ecx, str..WrapperArchive.cpp
call fcn.0041f0d0
and dword [ebp - 0x1144], 0
add esp, 0x18
xor ebx, ebx
jmp 0x40dc90
push 0xfff
lea eax, [ebp - 0x111b]
push ebx
push eax
mov byte [ebp - 0x111c], bl
call fcn.004504c0
mov dword [ebp - 0x1148], ebx
mov esi, 0x1000
jmp 0x40dc30
cmp eax, esi
jbe 0x40dc0b
mov eax, esi
push ebx
lea ecx, [ebp - 0x1148]
push ecx
push eax
lea eax, [ebp - 0x111c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
lea eax, [ebp - 0x111c]
push ebx
push eax
call fcn.004504c0
add esp, 0xc
push esi
lea eax, [ebp - 0x111c]
push eax
push dword [ebp - 0x1140]
call fcn.004370d4
add esp, 0xc
cmp eax, ebx
jg 0x40dc05
jge 0x40dc89
lea ecx, [ebp - 0x11c]
push ecx
push eax
push str.UnzipAllFile:
push str._s_error___d__extracting__s
push 0xa9
push ecx
call fcn.0041ef10
pop ecx
push eax
mov ebx, 0x800002
mov ecx, str..WrapperArchive.cpp
call fcn.0041f0d0
and dword [ebp - 0x1144], 0
add esp, 0x18
xor ebx, ebx
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x1140]
call fcn.004372dd
or dword [ebp - 4], 0xffffffff
pop ecx
push ebx
push 1
lea esi, [ebp - 0x1138]
call fcn.004019bb
cmp dword [ebp - 0x1144], ebx
je 0x40dcf8
push dword [ebp - 0x1140]
call fcn.00436e86
pop ecx
cmp eax, 0xffffff9c
jne 0x40da07
jmp 0x40dcf8
push str.UnzipAllFile:
push str._s_unzOpenCurrentFile__s_failed
push 0x7c
call fcn.0041ef10
push eax
mov ebx, 0x800002
mov ecx, str..WrapperArchive.cpp
call fcn.0041f0d0
add esp, 0x14
and dword [ebp - 0x1144], 0
mov eax, dword [ebp - 0x1144]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004504a7
leave
ret