Function at 0x101067e0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10194475
mov eax, dword fs:[0]
push eax
mov eax, 0x1034c
call fcn.1015dfc0
mov eax, dword [0x101f62b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 8], 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10330], ebx
mov dword [ebp - 0x1002c], eax
je 0x10106c6f
test ebx, ebx
jne 0x1010683d
lea ebx, [edi + 0x34]
mov dword [ebp - 0x10330], ebx
push ebx
call fcn.10107c70
test al, al
jne 0x1010696e
cmp dword [edi + 0x248], 0
je 0x101068e3
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov ecx, eax
mov dword [ebp - 4], 0
cmp dword [ecx + 0x14], 8
jb 0x10106874
mov ecx, dword [ecx]
mov eax, dword [edi + 0x248]
mov esi, dword [eax]
push ecx
push ebx
push str.Failed_to_create_destinationFolder__s.___s
mov esi, dword [esi + 0x34]
mov ecx, esi
push str.UnzipHandler
push 0x101ace0c
push 0x32
push eax
call dword [0x1019a4f8]
call esi
add esp, 0x1c
mov edx, dword [ebp - 0x10048]
cmp edx, 8
jb 0x10106c6f
mov ecx, dword [ebp - 0x1005c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10106c65
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
jmp 0x10106c65
cmp dword [0x101fc274], 0
je 0x1010693b
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov dword [ebp - 4], 1
cmp dword [eax + 0x14], 8
jb 0x10106906
mov eax, dword [eax]
mov esi, dword [0x101fc274]
mov ecx, esi
push eax
push ebx
push str.Failed_to_create_destinationFolder__s.___s
push 0x101ace0c
push 0x101ace0c
push str.UnzipHandler
push str.OOBEUtils
push 0x32
call dword [0x1019a4f8]
call esi
add esp, 0x20
jmp 0x101068a0
cmp dword [0x101fc278], 0
je 0x10106c6f
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov ecx, eax
mov dword [ebp - 4], 2
cmp dword [ecx + 0x14], 8
jb 0x10106964
mov ecx, dword [ecx]
mov eax, dword [0x101fc278]
jmp 0x1010687a
lea eax, [ebp - 0x10328]
mov ecx, edi
push eax
xor ebx, ebx
call fcn.10107ae0
mov edx, dword [ebp - 0x10330]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x10018], ebx
mov dword [ebp - 0x10014], 7
mov word [ebp - 0x10028], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x101069a2
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x10028]
call fcn.10001d60
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x10018]
test ecx, ecx
je 0x101069fd
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
cmovae eax, dword [ebp - 0x10028]
cmp word [eax + ecx*2 - 2], 0x5c
je 0x101069fd
push 1
push 0x101ace08
lea ecx, [ebp - 0x10028]
call fcn.10001e70
cmp byte [ebp + 0xc], 0
je 0x10106a2e
lea eax, [ebp - 0x10328]
push 0x5c
push eax
call fcn.1015e750
add esp, 8
test eax, eax
je 0x10106a2e
inc eax
push eax
lea eax, [ebp - 0x10328]
push 0x105
push eax
call fcn.1016df43
add esp, 0xc
lea ecx, [ebp - 0x10328]
mov dword [ebp - 0x10348], 0
mov dword [ebp - 0x10344], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x10358], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10106a52
sub ecx, edx
lea eax, [ebp - 0x10328]
push ecx
push eax
lea ecx, [ebp - 0x10358]
call fcn.10018930
push ecx
lea edx, [ebp - 0x10358]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10044]
call fcn.1010f940
add esp, 4
lea ecx, [ebp - 0x10358]
mov byte [ebp - 4], 6
call fcn.1000ad20
cmp dword [ebp - 0x10030], 8
lea eax, [ebp - 0x10044]
push dword [ebp - 0x10034]
cmovae eax, dword [ebp - 0x10044]
lea ecx, [ebp - 0x10028]
push eax
call fcn.10001e70
mov eax, dword [ebp - 0x1002c]
cmp eax, 0xffffffff
cmove eax, dword [ebp - 0x100fc]
cmp dword [ebp - 0x10014], 8
mov dword [ebp - 0x1002c], eax
lea eax, [ebp - 0x10028]
cmovae eax, dword [ebp - 0x10028]
push eax
call fcn.10175bbc
add esp, 4
mov esi, eax
push 0x5c
push esi
call fcn.10160813
add esp, 8
mov byte [ebp - 0x10329], 0
test eax, eax
je 0x10106b1a
xor ecx, ecx
mov word [eax], cx
mov ecx, edi
push esi
call fcn.10107c70
mov byte [ebp - 0x10329], al
push esi
call fcn.1016851e
add esp, 4
cmp byte [ebp - 0x10329], 0
jne 0x10106d3e
cmp dword [edi + 0x248], 0
je 0x10106c8f
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov edx, eax
mov byte [ebp - 4], 7
cmp dword [edx + 0x14], 8
jb 0x10106b56
mov edx, dword [edx]
cmp dword [ebp - 0x10014], 8
lea ecx, [ebp - 0x10028]
mov eax, dword [edi + 0x248]
cmovae ecx, dword [ebp - 0x10028]
mov esi, dword [eax]
push edx
push ecx
push str.Failed_to_CreateFilePath:__s.__s
mov esi, dword [esi + 0x34]
mov ecx, esi
push str.UnzipHandler
push 0x101ace0c
push 0x32
push eax
call dword [0x1019a4f8]
call esi
add esp, 0x1c
mov edx, dword [ebp - 0x10048]
cmp edx, 8
jb 0x10106bd6
mov ecx, dword [ebp - 0x1005c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10106bcc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov edx, dword [ebp - 0x10030]
cmp edx, 8
jb 0x10106c16
mov ecx, dword [ebp - 0x10044]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10106c0c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov edx, dword [ebp - 0x10014]
xor eax, eax
mov word [ebp - 0x10044], ax
mov dword [ebp - 0x10030], 7
mov dword [ebp - 0x10034], eax
cmp edx, 8
jb 0x10106c6f
mov ecx, dword [ebp - 0x10028]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10106c65
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1015c875
mov esp, ebp
pop ebp
ret 0x10
cmp dword [0x101fc274], 0
je 0x10106cfa
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov ecx, eax
mov byte [ebp - 4], 8
cmp dword [ecx + 0x14], 8
jb 0x10106cb1
mov ecx, dword [ecx]
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov esi, dword [0x101fc274]
cmovae eax, dword [ebp - 0x10028]
push ecx
push eax
push str.Failed_to_CreateFilePath:__s.__s
push 0x101ace0c
push 0x101ace0c
push str.UnzipHandler
push str.OOBEUtils
push 0x32
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0x20
jmp 0x10106b96
cmp dword [0x101fc278], 0
je 0x10106bd6
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov edx, eax
mov byte [ebp - 4], 9
cmp dword [edx + 0x14], 8
jb 0x10106d20
mov edx, dword [edx]
cmp dword [ebp - 0x10014], 8
lea ecx, [ebp - 0x10028]
mov eax, dword [0x101fc278]
cmovae ecx, dword [ebp - 0x10028]
jmp 0x10106b70
mov cl, byte [ebp - 0x100f4]
test cl, cl
je 0x10106d6e
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
push dword [ebp - 0x1002c]
cmovae eax, dword [ebp - 0x10028]
push eax
call fcn.10106310
mov cl, byte [ebp - 0x100f4]
cmp dword [ebp - 0x10030], 8
lea eax, [ebp - 0x10044]
mov esi, dword [edi + 0x30]
lea edx, [edi + 0x18]
cmovae eax, dword [ebp - 0x10044]
cmp dword [ebp - 0x10014], 8
mov dword [edi + 0x24], eax
lea eax, [ebp - 0x10028]
cmovae eax, dword [ebp - 0x10028]
mov dword [edi + 0x28], eax
xor eax, eax
test cl, cl
mov byte [edi + 0x2c], cl
push edx
setne al
mov dword [edi + 0x1c], 0
mov ecx, esi
lea eax, [eax*2 + 1]
mov dword [edx], eax
call dword [0x1019a4f8]
call esi
add esp, 4
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
lea ecx, [eax - 1]
cmp ecx, 1
ja 0x10106e8e
mov edx, dword [ebp - 0x10030]
cmp eax, 2
sete bl
cmp edx, 8
jb 0x10106e2a
mov ecx, dword [ebp - 0x10044]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10106e20
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov edx, dword [ebp - 0x10014]
xor eax, eax
mov dword [ebp - 0x10034], 0
mov dword [ebp - 0x10030], 7
mov word [ebp - 0x10044], ax
cmp edx, 8
jb 0x10106e87
mov ecx, dword [ebp - 0x10028]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10106e7d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov al, bl
jmp 0x10106c71
cmp byte [ebp - 0x100f4], 0
je 0x10106f3f
mov edx, dword [ebp - 0x10030]
cmp edx, 8
jb 0x10106edb
mov ecx, dword [ebp - 0x10044]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10106ed1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov edx, dword [ebp - 0x10014]
xor eax, eax
mov dword [ebp - 0x10034], 0
mov dword [ebp - 0x10030], 7
mov word [ebp - 0x10044], ax
cmp edx, 8
jb 0x10106f38
mov ecx, dword [ebp - 0x10028]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10106f2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov al, 1
jmp 0x10106c71
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
push 0
push dword [ebp - 0x1002c]
cmovae eax, dword [ebp - 0x10028]
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x10330], esi
cmp esi, 0xffffffff
jne 0x10107233
xor eax, eax
add eax, 0x64
mov dword [ebp - 0x10334], eax
cmp eax, 0x1f4
jge 0x10107128
cmp dword [edi + 0x248], 0
je 0x10106fc1
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov edx, eax
mov byte [ebp - 4], 0xa
cmp dword [edx + 0x14], 8
jb 0x10106fb6
mov edx, dword [edx]
mov eax, dword [edi + 0x248]
jmp 0x10107054
cmp dword [0x101fc274], 0
je 0x10107029
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov ecx, eax
mov byte [ebp - 4], 0xb
cmp dword [ecx + 0x14], 8
jb 0x10106fe3
mov ecx, dword [ecx]
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov esi, dword [0x101fc274]
cmovae eax, dword [ebp - 0x10028]
push ecx
push eax
push str.Failed_to_open_file_:__s_with_code__s__retrying_
push 0x101ace0c
push 0x101ace0c
push str.UnzipHandler
push str.OOBEUtils
push 0xa
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0x20
jmp 0x1010708e
cmp dword [0x101fc278], 0
je 0x101070d2
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov edx, eax
mov byte [ebp - 4], 0xc
cmp dword [edx + 0x14], 8
jb 0x1010704f
mov edx, dword [edx]
mov eax, dword [0x101fc278]
cmp dword [ebp - 0x10014], 8
lea ecx, [ebp - 0x10028]
mov esi, dword [eax]
cmovae ecx, dword [ebp - 0x10028]
push edx
push ecx
mov esi, dword [esi + 0x34]
mov ecx, esi
push str.Failed_to_open_file_:__s_with_code__s__retrying_
push str.UnzipHandler
push 0x101ace0c
push 0xa
push eax
call dword [0x1019a4f8]
call esi
add esp, 0x1c
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x10048]
cmp edx, 8
jb 0x101070d2
mov ecx, dword [ebp - 0x1005c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x101070c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
push dword [ebp - 0x10334]
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
push 0
push dword [ebp - 0x1002c]
cmovae eax, dword [ebp - 0x10028]
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x10330], esi
cmp esi, 0xffffffff
jne 0x10107233
mov eax, dword [ebp - 0x10334]
jmp 0x10106f80
cmp esi, 0xffffffff
jne 0x10107233
cmp dword [edi + 0x248], 0
je 0x1010717b
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov edx, eax
mov byte [ebp - 4], 0xd
cmp dword [edx + 0x14], 8
jb 0x10107153
mov edx, dword [edx]
cmp dword [ebp - 0x10014], 8
lea ecx, [ebp - 0x10028]
mov eax, dword [edi + 0x248]
cmovae ecx, dword [ebp - 0x10028]
push edx
push ecx
mov esi, dword [eax]
push str.Cannot_open_file__s_for_writing:__s
jmp 0x10106b79
cmp dword [0x101fc274], 0
je 0x101071e6
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov ecx, eax
mov byte [ebp - 4], 0xe
cmp dword [ecx + 0x14], 8
jb 0x1010719d
mov ecx, dword [ecx]
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov esi, dword [0x101fc274]
cmovae eax, dword [ebp - 0x10028]
push ecx
push eax
push str.Cannot_open_file__s_for_writing:__s
push 0x101ace0c
push 0x101ace0c
push str.UnzipHandler
push str.OOBEUtils
push 0x32
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0x20
jmp 0x10106b96
cmp dword [0x101fc278], 0
je 0x10106bd6
lea ecx, [ebp - 0x1005c]
call fcn.10101c00
mov edx, eax
mov byte [ebp - 4], 0xf
cmp dword [edx + 0x14], 8
jb 0x1010720c
mov edx, dword [edx]
cmp dword [ebp - 0x10014], 8
lea ecx, [ebp - 0x10028]
mov eax, dword [0x101fc278]
cmovae ecx, dword [ebp - 0x10028]
push edx
push ecx
mov esi, dword [eax]
push str.Cannot_open_file__s_for_writing:__s
jmp 0x10106b79
push dword [edi + 0x240]
mov ecx, dword [edi + 8]
sub esp, 8
call fcn.10123a20
add esp, 0xc
test eax, eax
je 0x1010736f
mov ecx, dword [edi + 0x248]
test ecx, ecx
jne 0x101072ac
mov esi, dword [0x101fc274]
test esi, esi
je 0x101072a2
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov ecx, esi
cmovae eax, dword [ebp - 0x10028]
push eax
push str.Failed_to_unzOpenCurrentFilePassword:__s
push 0x101ace0c
push 0x101ace0c
push str.UnzipHandler
push str.OOBEUtils
push 0x32
call dword [0x1019a4f8]
call esi
add esp, 0x1c
jmp 0x101072e5
mov ecx, dword [0x101fc278]
test ecx, ecx
je 0x101072e5
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov esi, dword [ecx]
cmovae eax, dword [ebp - 0x10028]
push eax
push str.Failed_to_unzOpenCurrentFilePassword:__s
mov esi, dword [esi + 0x34]
push str.UnzipHandler
push 0x101ace0c
push 0x32
push ecx
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0x18
push dword [ebp - 0x10330]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x10030]
cmp edx, 8
jb 0x10107331
mov ecx, dword [ebp - 0x10044]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10107327
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov edx, dword [ebp - 0x10014]
xor eax, eax
mov dword [ebp - 0x10034], 0
mov dword [ebp - 0x10030], 7
mov word [ebp - 0x10044], ax
cmp edx, 8
jb 0x10106c6f
mov ecx, dword [ebp - 0x10028]
lea edx, [edx*2 + 2]
jmp 0x101068bc
mov eax, dword [edi + 0x250]
test eax, eax
je 0x10107818
cmp eax, 0xffffffff
je 0x10107818
cmp eax, 1
jne 0x1010795e
mov eax, dword [edi + 8]
test eax, eax
je 0x101076f8
mov eax, dword [eax + 0x9c]
test eax, eax
je 0x101076f8
mov ebx, dword [eax + 0x48]
sub ebx, dword [eax + 0x4c]
test ebx, ebx
jle 0x101076f8
xor ecx, ecx
mov eax, ebx
add eax, 1
setb cl
neg ecx
or ecx, eax
push ecx
call fcn.10169c26
mov ecx, dword [edi + 8]
add esp, 4
mov esi, eax
mov edx, esi
push ebx
call fcn.10124090
add esp, 4
lea ecx, [ebp - 0x1005c]
push esi
call fcn.10018700
push 1
push esi
call fcn.1015cbd5
cmp dword [ebp - 0x10048], 0x10
lea eax, [ebp - 0x1005c]
cmovae eax, dword [ebp - 0x1005c]
push eax
call fcn.10169f5d
add esp, 0xc
lea ebx, [eax + 0x10000]
push ebx
mov dword [ebp - 0x1033c], ebx
call fcn.10169c26
add esp, 4
lea ecx, [ebp - 0x1005c]
mov esi, eax
mov dword [ebp - 0x10338], esi
call fcn.1000ad20
mov edx, dword [edi + 0x244]
mov ecx, dword [edi + 8]
push 1
mov dword [edi + 0x18], 2
call fcn.10123d90
add esp, 4
cmp eax, 1
je 0x10107469
push dword [ebp - 0x10330]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
push esi
jmp 0x10106bce
mov eax, dword [edi + 0x244]
mov dword [ebp - 0x100dc], 0
mov dword [ebp - 0x100e0], 0
push ecx
mov dl, byte [eax]
lea ecx, [ebp - 0x100f0]
call fcn.10129170
mov dword [ebp - 0x100dc], esi
add esp, 4
xor esi, esi
mov dword [ebp - 0x100c8], ebx
mov dword [ebp - 0x10078], 0
xor ebx, ebx
mov dword [ebp - 0x10070], 1
mov dword [ebp - 0x1006c], 1
mov dword [ebp - 0x10068], 1
mov dword [ebp - 0x100cc], 0
mov dword [ebp - 0x100a4], 1
mov dword [ebp - 0x100a8], 0
mov dword [ebp - 0x10098], 0
mov dword [ebp - 0x100c4], 0
mov dword [ebp - 0x100c0], 0
mov dword [ebp - 0x100a0], 1
mov dword [ebp - 0x1002c], esi
nop dword [eax + eax]
mov edx, dword [edi + 0x244]
mov ecx, dword [edi + 8]
push 0x10000
mov dword [ebp - 0x10060], ebx
call fcn.10123d90
mov ebx, eax
add esp, 4
test ebx, ebx
jle 0x10107646
mov edx, dword [ebp - 0x1033c]
lea eax, [ebp - 0x10340]
mov esi, dword [ebp - 0x100cc]
push eax
push ecx
lea eax, [ebp - 0x10334]
mov dword [ebp - 0x10334], ebx
push eax
push dword [edi + 0x244]
lea ecx, [ebp - 0x100f0]
call fcn.101291f0
add esp, 0x10
test eax, eax
jne 0x1010763f
cmp dword [ebp - 0x10340], 1
mov eax, dword [ebp - 0x100c4]
mov ecx, dword [ebp - 0x100cc]
mov dword [ebp - 0x1002c], eax
jne 0x101075a6
cmp eax, ecx
jne 0x1010763f
cmp dword [ebp - 0x10334], 0
jne 0x101075b7
cmp esi, ecx
je 0x1010763f
mov esi, dword [edi + 0x30]
mov ebx, eax
sub eax, dword [ebp - 0x10060]
mov ecx, esi
mov dword [edi + 0x1c], eax
lea eax, [edi + 0x18]
push eax
call dword [0x1019a4f8]
call esi
add esp, 4
test eax, eax
je 0x10107520
or ebx, 0xffffffff
mov ecx, dword [edi + 0x248]
test ecx, ecx
jne 0x10107685
mov esi, dword [0x101fc274]
test esi, esi
je 0x1010767b
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov ecx, esi
cmovae eax, dword [ebp - 0x10028]
push eax
push str.some_error_for_file__s
push 0x101ace0c
push 0x101ace0c
push str.UnzipHandler
push str.OOBEUtils
push 0x32
call dword [0x1019a4f8]
call esi
add esp, 0x1c
jmp 0x101076be
mov ebx, 0xffffff99
jmp 0x101075e1
jne 0x101075e1
mov esi, dword [ebp - 0x1002c]
lea eax, [ebp - 0x10060]
push 0
push eax
push esi
push dword [ebp - 0x10338]
push dword [ebp - 0x10330]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10107676
cmp dword [ebp - 0x10060], esi
je 0x101076be
or ebx, 0xffffffff
jmp 0x101076be
mov ecx, dword [0x101fc278]
test ecx, ecx
je 0x101076be
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov esi, dword [ecx]
cmovae eax, dword [ebp - 0x10028]
push eax
push str.some_error_for_file__s
mov esi, dword [esi + 0x34]
push str.UnzipHandler
push 0x101ace0c
push 0x32
push ecx
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0x18
push dword [ebp - 0x100e0]
mov esi, dword [0x101f6d4c]
mov ecx, esi
push 0x101f6d48
call dword [0x1019a4f8]
call esi
push 1
push dword [ebp - 0x10338]
mov dword [ebp - 0x100e0], 0
call fcn.1015cbd5
add esp, 0x10
jmp 0x1010795e
mov ecx, dword [edi + 0x248]
test ecx, ecx
jne 0x10107755
mov esi, dword [0x101fc274]
test esi, esi
je 0x1010774b
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov ecx, esi
cmovae eax, dword [ebp - 0x10028]
push eax
push str.Failed_to_get_extra_local_size_for_file__s
push 0x101ace0c
push 0x101ace0c
push str.UnzipHandler
push str.OOBEUtils
push 0x32
call dword [0x1019a4f8]
call esi
add esp, 0x1c
jmp 0x1010778e
mov ecx, dword [0x101fc278]
test ecx, ecx
je 0x1010778e
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov esi, dword [ecx]
cmovae eax, dword [ebp - 0x10028]
push eax
push str.Failed_to_get_extra_local_size_for_file__s
mov esi, dword [esi + 0x34]
push str.UnzipHandler
push 0x101ace0c
push 0x32
push ecx
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0x18
push dword [ebp - 0x10330]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x10030]
cmp edx, 8
jb 0x101077da
mov ecx, dword [ebp - 0x10044]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x101077d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov edx, dword [ebp - 0x10014]
xor eax, eax
mov dword [ebp - 0x10034], 0
mov dword [ebp - 0x10030], 7
mov word [ebp - 0x10044], ax
cmp edx, 8
jb 0x10106c6f
mov ecx, dword [ebp - 0x10028]
lea edx, [edx*2 + 2]
jmp 0x101068bc
mov dword [edi + 0x18], 2
mov cl, byte [ebp + 0x14]
lea edx, [ebp - 0x10010]
mov ebx, 0x40000
test cl, cl
je 0x10107837
mov edx, dword [edi + 0x244]
test cl, cl
mov eax, 0x10000
mov ecx, dword [edi + 8]
cmovne eax, ebx
push eax
call fcn.10123d90
mov ebx, eax
add esp, 4
test ebx, ebx
jle 0x1010795e
cmp byte [ebp + 0x14], 0
lea eax, [ebp - 0x1002c]
push 0
push eax
mov dword [ebp - 0x1002c], ebx
push ebx
jne 0x10107876
lea eax, [ebp - 0x10010]
push eax
jmp 0x1010787c
push dword [edi + 0x244]
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x101078c3
mov eax, dword [ebp - 0x1002c]
cmp eax, ebx
jne 0x101078c3
mov esi, dword [edi + 0x30]
mov ecx, esi
mov dword [edi + 0x1c], eax
lea eax, [edi + 0x18]
push eax
call dword [0x1019a4f8]
call esi
add esp, 4
test eax, eax
jne 0x1010795b
test ebx, ebx
jle 0x1010795e
mov esi, dword [ebp - 0x10330]
jmp 0x1010781f
mov ecx, dword [edi + 0x248]
test ecx, ecx
jne 0x10107921
mov esi, dword [0x101fc274]
test esi, esi
je 0x10107917
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov ecx, esi
cmovae eax, dword [ebp - 0x10028]
push eax
push ebx
push str.Error__d_in_writing_to_file_:__s
push 0x101ace0c
push 0x101ace0c
push str.UnzipHandler
push str.OOBEUtils
push 0x32
call dword [0x1019a4f8]
call esi
add esp, 0x20
jmp 0x1010795b
mov ecx, dword [0x101fc278]
test ecx, ecx
je 0x1010795b
cmp dword [ebp - 0x10014], 8
lea eax, [ebp - 0x10028]
mov esi, dword [ecx]
cmovae eax, dword [ebp - 0x10028]
push eax
push ebx
mov esi, dword [esi + 0x34]
push str.Error__d_in_writing_to_file_:__s
push str.UnzipHandler
push 0x101ace0c
push 0x32
push ecx
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0x1c
or ebx, 0xffffffff
push dword [ebp - 0x10330]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [edi + 8]
call fcn.10124130
cmp dword [ebp - 0x10030], 8
lea eax, [ebp - 0x10044]
mov esi, dword [edi + 0x30]
mov ecx, esi
cmovae eax, dword [ebp - 0x10044]
cmp dword [ebp - 0x10014], 8
mov dword [edi + 0x24], eax
lea eax, [ebp - 0x10028]
cmovae eax, dword [ebp - 0x10028]
mov dword [edi + 0x28], eax
lea eax, [edi + 0x18]
push eax
mov dword [edi + 0x1c], 0
mov dword [eax], 3
call dword [0x1019a4f8]
call esi
mov edx, dword [ebp - 0x10030]
add esp, 4
test ebx, ebx
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
sete bl
cmp edx, 8
jb 0x10107a10
mov ecx, dword [ebp - 0x10044]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10107a06
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10107a3f
push edx
push ecx
call fcn.1015cbd5
add esp, 8
xor eax, eax
mov dword [ebp - 0x10034], 0
lea ecx, [ebp - 0x10028]
mov dword [ebp - 0x10030], 7
mov word [ebp - 0x10044], ax
call fcn.10001d00
mov al, bl
jmp 0x10106c71
call fcn.101686f5
int3