Function at 0x403480
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x410ba6
mov eax, dword fs:[0]
push eax
mov eax, 0x13e0
call fcn.0040f640
mov eax, dword [0x4173cc]
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]
mov edi, ecx
xor esi, esi
mov ebx, edx
mov dword [ebp - 0x13c0], eax
cmp edi, esi
je 0x404341
cmp ebx, esi
je 0x404341
xor eax, eax
push esi
push 0x4136d5
lea ecx, [ebp - 0x13a0]
mov byte [ebp - 0x34], 0
mov dword [ebp - 0x33], eax
mov dword [ebp - 0x2f], eax
mov dword [ebp - 0x2b], eax
mov dword [ebp - 0x27], eax
mov dword [ebp - 0x23], eax
mov dword [ebp - 0x1f], eax
mov dword [ebp - 0x1b], eax
mov word [ebp - 0x17], ax
mov byte [ebp - 0x15], al
mov dword [ebp - 0x138c], 0xf
mov dword [ebp - 0x1390], esi
mov byte [ebp - 0x13a0], al
call fcn.004014a0
mov dword [ebp - 4], esi
push 0x10
push str.utl_FileUnpack:
lea ecx, [ebp - 0x13bc]
mov dword [ebp - 0x13a8], 0xf
mov dword [ebp - 0x13ac], esi
mov byte [ebp - 0x13bc], 0
call fcn.004014a0
mov eax, edi
mov byte [ebp - 4], 1
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403550
sub eax, edx
mov dword [ebp - 0x13d4], eax
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403564
sub eax, edx
mov dword [ebp - 0x13cc], eax
mov eax, 0x419620
lea edx, [eax + 1]
jmp 0x403580
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403580
sub eax, edx
cmp dword [ebp - 0x13a8], 0x10
mov edx, dword [ebp - 0x13bc]
mov dword [ebp - 0x13e8], eax
jae 0x4035a4
lea edx, [ebp - 0x13bc]
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4035b0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x13a0]
call fcn.004014a0
push 0xd
mov eax, str.pszSrcPath_
lea ecx, [ebp - 0x13a0]
call fcn.00401380
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4035e0
sub eax, edx
push eax
mov eax, edi
lea ecx, [ebp - 0x13a0]
call fcn.00401380
push 0xe
mov eax, str._pszSrcFile_
lea ecx, [ebp - 0x13a0]
call fcn.00401380
mov eax, ebx
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403610
sub eax, ecx
push eax
mov eax, ebx
lea ecx, [ebp - 0x13a0]
call fcn.00401380
push 0xe
mov eax, str._pszDstPath_
lea ecx, [ebp - 0x13a0]
call fcn.00401380
mov eax, 0x419620
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403641
sub eax, edx
push eax
mov eax, 0x419620
lea ecx, [ebp - 0x13a0]
call fcn.00401380
mov eax, dword [ebp - 0x13a0]
mov esi, 0x10
cmp dword [ebp - 0x138c], esi
jae 0x403674
lea eax, [ebp - 0x13a0]
push 0
push eax
push str.UtlFile
call fcn.004022b0
mov ecx, dword [ebp - 0x13cc]
add ecx, dword [ebp - 0x13d4]
add esp, 0xc
cmp ecx, 0x104
jae 0x4042d6
cmp dword [ebp - 0x13e8], 0x104
jae 0x4042d6
push ebx
push edi
lea eax, [ebp - 0x174]
push str._s_s
push eax
call fcn.00404c19
lea ecx, [ebp - 0x174]
push ecx
call fcn.00403080
mov edx, dword [ebp - 0x13bc]
add esp, 0x14
cmp dword [ebp - 0x13a8], 0x10
mov esi, eax
jae 0x4036e5
lea edx, [ebp - 0x13bc]
lea eax, [ebp - 0x13a0]
push eax
call fcn.004010b0
lea ecx, [ebp - 0x13a0]
push ecx
mov eax, str.szSrcAbsFile_
call fcn.004010e0
lea edx, [ebp - 0x13a0]
push edx
lea eax, [ebp - 0x174]
call fcn.004010e0
mov eax, dword [ebp - 0x13a0]
mov ebx, 0x10
cmp dword [ebp - 0x138c], ebx
jae 0x40372d
lea eax, [ebp - 0x13a0]
xor edi, edi
push edi
push eax
push str.UtlFile
call fcn.004022b0
add esp, 0xc
cmp esi, edi
jne 0x40377c
push edi
push str.utl_FileUnpack:Err:_152.
push str.UtlFile
call fcn.004022b0
mov eax, dword [ebp - 0x13c0]
mov dword [eax], 0x98
add esp, 0xc
lea ecx, [ebp - 0x13bc]
call fcn.00401080
lea ecx, [ebp - 0x13a0]
call fcn.00401080
jmp 0x404360
push 0x419620
call fcn.00403110
add esp, 4
test eax, eax
jne 0x4037ab
push edi
push str.utl_FileUnpack:Err:_158.
push str.UtlFile
call fcn.004022b0
mov ecx, dword [ebp - 0x13c0]
mov dword [ecx], 0x9e
jmp 0x40375e
lea edx, [ebp - 0x13d8]
mov dword [ebp - 0x13cc], edi
mov dword [ebp - 0x13d8], edi
push edx
lea edi, [ebp - 0x13cc]
lea ecx, [ebp - 0x174]
call fcn.004031a0
mov edx, dword [ebp - 0x13bc]
add esp, 4
mov edi, eax
cmp dword [ebp - 0x13a8], ebx
jae 0x4037e8
lea edx, [ebp - 0x13bc]
lea eax, [ebp - 0x13a0]
push eax
call fcn.004010b0
lea ecx, [ebp - 0x13a0]
push ecx
mov eax, str.dwSizeHigh_
call fcn.004010e0
mov esi, dword [ebp - 0x13cc]
xor eax, eax
push esi
lea edx, [ebp - 0x34]
push 0x4143f0
push edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call fcn.00404c19
add esp, 0xc
lea eax, [ebp - 0x13a0]
push eax
lea eax, [ebp - 0x34]
call fcn.004010e0
lea ecx, [ebp - 0x13a0]
push ecx
mov eax, str._dwSizeLow_
call fcn.004010e0
mov ebx, dword [ebp - 0x13d8]
xor eax, eax
push ebx
lea edx, [ebp - 0x34]
push 0x4143f0
push edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call fcn.00404c19
add esp, 0xc
lea eax, [ebp - 0x13a0]
push eax
lea eax, [ebp - 0x34]
call fcn.004010e0
cmp dword [ebp - 0x138c], 0x10
mov eax, dword [ebp - 0x13a0]
jae 0x4038ad
lea eax, [ebp - 0x13a0]
push 0
push eax
push str.UtlFile
call fcn.004022b0
add esp, 0xc
test edi, edi
je 0x4042b4
test esi, esi
jne 0x4042b4
cmp ebx, 0x789b0
jbe 0x4042b4
mov edx, dword [ebp - 0x13bc]
sub ebx, 0x789b0
mov esi, 0x10
mov dword [ebp - 0x13d8], ebx
cmp dword [ebp - 0x13a8], esi
jae 0x4038fe
lea edx, [ebp - 0x13bc]
lea ecx, [ebp - 0x13a0]
push ecx
call fcn.004010b0
lea edx, [ebp - 0x13a0]
push edx
mov eax, str.dwSizeLow__dwSizeLow___dwOffset
call fcn.004010e0
xor eax, eax
push ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x34]
push 0x4143f0
push eax
call fcn.00404c19
add esp, 0xc
lea ecx, [ebp - 0x13a0]
push ecx
lea eax, [ebp - 0x34]
call fcn.004010e0
mov eax, dword [ebp - 0x13a0]
cmp dword [ebp - 0x138c], esi
jae 0x40396a
lea eax, [ebp - 0x13a0]
xor esi, esi
push esi
push eax
push str.UtlFile
call fcn.004022b0
add esp, 0xc
lea eax, [ebp - 0x174]
mov dword [ebp - 0x13c8], esi
mov dword [ebp - 0x13c4], 1
call fcn.004033f0
mov ebx, eax
mov dword [ebp - 0x13d4], ebx
mov dword [ebp - 0x13dc], 0xffffffff
mov dword [ebp - 0x13d0], esi
mov dword [ebp - 0x13e4], esi
mov dword [ebp - 0x13e0], esi
mov dword [ebp - 0x13ec], esi
cmp ebx, 0xffffffff
jne 0x4039ef
push esi
push str.utl_FileUnpack:Err:_156.
push str.UtlFile
call fcn.004022b0
mov edx, dword [ebp - 0x13c0]
add esp, 0xc
mov dword [edx], 0x9c
mov dword [ebp - 0x13c4], esi
jmp 0x40416b
push 0
push 0
push 0x789b0
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edi, 0x11
lea esi, [ebp - 0x1384]
mov ecx, ebx
mov dword [ebp - 0x13c8], edi
call fcn.00403430
test eax, eax
jne 0x403a3c
push eax
push str.utl_FileUnpack:Err:_159.
push str.UtlFile
call fcn.004022b0
mov eax, dword [ebp - 0x13c0]
mov dword [eax], 0x9f
jmp 0x404141
mov edi, dword [ebp - 0x13c8]
mov eax, edi
mov ecx, str._iNode__Reed
lea esi, [ebp - 0x1384]
cmp edi, 4
jb 0x403a68
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x403a8c
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x403a54
test eax, eax
je 0x403ae7
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x403a8c
cmp eax, 1
jbe 0x403ae7
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x403a8c
cmp eax, 2
jbe 0x403ae7
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
je 0x403ae7
push 0x31
lea ecx, [ebp - 0x67]
push 0
push ecx
mov byte [ebp - 0x68], 0
call fcn.00408ff0
add esp, 0xc
push edi
lea edx, [ebp - 0x68]
push 0x4143f0
push edx
call fcn.00404c19
add esp, 0xc
push 0
lea eax, [ebp - 0x68]
push eax
push str.UtlFile
call fcn.004022b0
add esp, 0xc
push 0
push str.utl_FileUnpack:Err:_160.
push str.UtlFile
call fcn.004022b0
mov ecx, dword [ebp - 0x13c0]
mov dword [ecx], 0xa0
jmp 0x404141
mov edx, dword [ebp - 0x13bc]
mov esi, 0x10
mov ebx, edi
cmp dword [ebp - 0x13a8], esi
jae 0x403b02
lea edx, [ebp - 0x13bc]
lea eax, [ebp - 0x13a0]
push eax
call fcn.004010b0
lea ecx, [ebp - 0x13a0]
push ecx
mov eax, str.dwCurTotalLen_
call fcn.004010e0
xor eax, eax
push ebx
lea edx, [ebp - 0x34]
push 0x4143f0
push edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call fcn.00404c19
add esp, 0xc
lea eax, [ebp - 0x13a0]
push eax
lea eax, [ebp - 0x34]
call fcn.004010e0
mov eax, dword [ebp - 0x13a0]
cmp dword [ebp - 0x138c], esi
jae 0x403b6e
lea eax, [ebp - 0x13a0]
push 0
push eax
push str.UtlFile
call fcn.004022b0
add esp, 0xc
mov dword [ebp - 0x13cc], 0
cmp ebx, dword [ebp - 0x13d8]
jae 0x40414e
inc dword [ebp - 0x13cc]
mov edx, dword [ebp - 0x13bc]
mov edi, 0x10
cmp dword [ebp - 0x13a8], edi
jae 0x403bb3
lea edx, [ebp - 0x13bc]
lea ecx, [ebp - 0x13a0]
push ecx
call fcn.004010b0
lea edx, [ebp - 0x13a0]
push edx
mov eax, str.unpack_time_
call fcn.004010e0
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x13cc]
push eax
lea ecx, [ebp - 0x34]
push 0x4143f0
push ecx
call fcn.00404c19
add esp, 0xc
lea edx, [ebp - 0x13a0]
push edx
lea eax, [ebp - 0x34]
call fcn.004010e0
mov eax, dword [ebp - 0x13a0]
cmp dword [ebp - 0x138c], edi
jae 0x403c25
lea eax, [ebp - 0x13a0]
push 0
push eax
push str.UtlFile
call fcn.004022b0
mov esi, dword [ebp - 0x13d4]
add esp, 0xc
push 0
lea eax, [ebp - 0x13c8]
push eax
push 4
lea ecx, [ebp - 0x13d0]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40408e
mov edx, dword [ebp - 0x13bc]
cmp dword [ebp - 0x13a8], edi
jae 0x403c70
lea edx, [ebp - 0x13bc]
lea eax, [ebp - 0x13a0]
push eax
call fcn.004010b0
lea ecx, [ebp - 0x13a0]
push ecx
mov eax, str.dwBufDataLen_
call fcn.004010e0
mov edx, dword [ebp - 0x13c8]
xor eax, eax
push edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x34]
push 0x4143f0
push eax
call fcn.00404c19
add esp, 0xc
lea ecx, [ebp - 0x13a0]
push ecx
lea eax, [ebp - 0x34]
call fcn.004010e0
lea edx, [ebp - 0x13a0]
push edx
mov eax, str._dwCurFileNameLen_
call fcn.004010e0
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x13d0]
push eax
lea ecx, [ebp - 0x34]
push 0x4143f0
push ecx
call fcn.00404c19
add esp, 0xc
lea edx, [ebp - 0x13a0]
push edx
lea eax, [ebp - 0x34]
call fcn.004010e0
lea eax, [ebp - 0x13a0]
push eax
mov eax, str._sizeof_DWORD__
call fcn.004010e0
xor eax, eax
push 4
lea ecx, [ebp - 0x34]
push 0x4143f0
push ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call fcn.00404c19
add esp, 0xc
lea edx, [ebp - 0x13a0]
push edx
lea eax, [ebp - 0x34]
call fcn.004010e0
mov eax, dword [ebp - 0x13a0]
cmp dword [ebp - 0x138c], edi
jae 0x403d81
lea eax, [ebp - 0x13a0]
push 0
push eax
push str.UtlFile
call fcn.004022b0
add esp, 0xc
cmp dword [ebp - 0x13c8], 4
jne 0x404124
mov eax, dword [ebp - 0x13d0]
cmp eax, 0x40
ja 0x404124
add eax, dword [ebp - 0x13e8]
cmp eax, 0x104
jae 0x404124
push 0
lea edx, [ebp - 0x13c8]
push edx
push 4
lea eax, [ebp - 0x13e4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x404292
cmp dword [ebp - 0x13c8], 4
jne 0x404292
mov edx, dword [ebp - 0x13e4]
add edx, dword [ebp - 0x13d0]
lea ebx, [ebx + edx + 8]
mov edx, dword [ebp - 0x13bc]
cmp dword [ebp - 0x13a8], edi
jae 0x403e10
lea edx, [ebp - 0x13bc]
lea eax, [ebp - 0x13a0]
push eax
call fcn.004010b0
lea ecx, [ebp - 0x13a0]
push ecx
mov eax, str.dwCurTotalLen_
call fcn.004010e0
xor eax, eax
push ebx
lea edx, [ebp - 0x34]
push 0x4143f0
push edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call fcn.00404c19
add esp, 0xc
lea eax, [ebp - 0x13a0]
push eax
lea eax, [ebp - 0x34]
call fcn.004010e0
mov eax, dword [ebp - 0x13a0]
cmp dword [ebp - 0x138c], edi
jae 0x403e7c
lea eax, [ebp - 0x13a0]
push 0
push eax
push str.UtlFile
call fcn.004022b0
add esp, 0xc
cmp ebx, dword [ebp - 0x13d8]
ja 0x40418c
mov edi, dword [ebp - 0x13d0]
mov ecx, dword [ebp - 0x13d4]
lea esi, [ebp - 0x1384]
call fcn.00403430
test eax, eax
je 0x4041ab
mov ecx, dword [ebp - 0x13d0]
mov edx, esi
push edx
push 0x419620
lea eax, [ebp - 0x384]
push str._s_s
push eax
mov byte [ebp + ecx - 0x1384], 0
call fcn.00404c19
add esp, 0x10
lea eax, [ebp - 0x384]
call fcn.00403410
mov edx, dword [ebp - 0x13bc]
mov edi, 0x10
mov esi, eax
mov dword [ebp - 0x13dc], esi
cmp dword [ebp - 0x13a8], edi
jae 0x403f0d
lea edx, [ebp - 0x13bc]
lea ecx, [ebp - 0x13a0]
push ecx
call fcn.004010b0
lea edx, [ebp - 0x13a0]
push edx
mov eax, str.szDstAbsFile_
call fcn.004010e0
lea eax, [ebp - 0x13a0]
push eax
lea eax, [ebp - 0x384]
call fcn.004010e0
mov eax, dword [ebp - 0x13a0]
cmp dword [ebp - 0x138c], edi
jae 0x403f50
lea eax, [ebp - 0x13a0]
push 0
push eax
push str.UtlFile
call fcn.004022b0
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x27b]
push 0
push ecx
mov byte [ebp - 0x27c], 0
call fcn.00408ff0
add esp, 0xc
lea edx, [ebp - 0x1384]
push edx
lea eax, [ebp - 0x27c]
push 0x4143e8
push eax
call fcn.00404c19
add esp, 0xc
mov ecx, str.iNode_end
lea eax, [ebp - 0x27c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403fc3
test dl, dl
je 0x403fbf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403fc3
add eax, 2
add ecx, 2
test dl, dl
jne 0x403fa3
xor eax, eax
jmp 0x403fc8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4041cd
cmp esi, 0xffffffff
je 0x40422e
mov eax, dword [ebp - 0x13e4]
test eax, eax
je 0x404062
sub eax, dword [ebp - 0x13e0]
cmp eax, 0x1000
jbe 0x403ff5
mov eax, 0x1000
mov ecx, dword [ebp - 0x13d4]
mov edi, eax
lea esi, [ebp - 0x1384]
mov dword [ebp - 0x13c8], eax
call fcn.00403430
push 0
test eax, eax
je 0x404250
mov edx, dword [ebp - 0x13c8]
lea ecx, [ebp - 0x13ec]
push ecx
mov ecx, dword [ebp - 0x13dc]
push edx
mov eax, esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x404270
mov ecx, dword [ebp - 0x13e0]
add ecx, dword [ebp - 0x13c8]
mov eax, dword [ebp - 0x13e4]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x13e0], ecx
jne 0x403fe3
mov esi, dword [ebp - 0x13dc]
push esi
mov dword [ebp - 0x13e0], 0
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x13dc], 0xffffffff
cmp ebx, dword [ebp - 0x13d8]
jb 0x403b94
jmp 0x40414e
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x34]
push 0x4143f0
push eax
call fcn.00404c19
mov edx, dword [ebp - 0x13bc]
add esp, 0xc
cmp dword [ebp - 0x13a8], edi
jae 0x4040d4
lea edx, [ebp - 0x13bc]
lea ecx, [ebp - 0x13a0]
push ecx
call fcn.004010b0
lea edx, [ebp - 0x13a0]
push edx
mov eax, str.ReadFile_failed_with_err.
call fcn.004010e0
lea eax, [ebp - 0x13a0]
push eax
lea eax, [ebp - 0x34]
call fcn.004010e0
mov eax, dword [ebp - 0x13a0]
cmp dword [ebp - 0x138c], edi
jae 0x404114
lea eax, [ebp - 0x13a0]
push 0
push eax
push str.UtlFile
call fcn.004022b0
add esp, 0xc
push 0
push str.utl_FileUnpack:Err:_161.
push str.UtlFile
call fcn.004022b0
mov eax, dword [ebp - 0x13c0]
mov dword [eax], 0xa1
mov dword [ebp - 0x13c4], 0
add esp, 0xc
mov ecx, dword [ebp - 0x13d4]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call esi
mov eax, dword [ebp - 0x13dc]
cmp eax, 0xffffffff
je 0x40416b
push eax
call esi
lea ecx, [ebp - 0x13bc]
call fcn.00401080
lea ecx, [ebp - 0x13a0]
call fcn.00401080
mov eax, dword [ebp - 0x13c4]
jmp 0x404362
push 0
push str.utl_FileUnpack:Err:_163.
push str.UtlFile
call fcn.004022b0
mov ecx, dword [ebp - 0x13c0]
mov dword [ecx], 0xa3
jmp 0x404141
push 0
push str.utl_FileUnpack:Err:_164.
push str.UtlFile
call fcn.004022b0
mov edx, dword [ebp - 0x13c0]
mov dword [edx], 0xa4
jmp 0x404141
mov edx, dword [ebp - 0x13bc]
mov dword [ebp - 0x13c4], 1
cmp dword [ebp - 0x13a8], edi
jae 0x4041eb
lea edx, [ebp - 0x13bc]
lea eax, [ebp - 0x13a0]
push eax
call fcn.004010b0
lea ecx, [ebp - 0x13a0]
push ecx
mov eax, str.The_file_is_end.
call fcn.004010e0
mov eax, dword [ebp - 0x13a0]
cmp dword [ebp - 0x138c], edi
jae 0x40421c
lea eax, [ebp - 0x13a0]
push 0
push eax
push str.UtlFile
call fcn.004022b0
jmp 0x40414b
push 0
push str.utl_FileUnpack:Err:_165.
push str.UtlFile
call fcn.004022b0
mov edx, dword [ebp - 0x13c0]
mov dword [edx], 0xa5
jmp 0x404141
push str.utl_FileUnpack:Err:_166.
push str.UtlFile
call fcn.004022b0
mov eax, dword [ebp - 0x13c0]
mov dword [eax], 0xa6
jmp 0x404141
push 0
push str.utl_FileUnpack:Err:_157.
push str.UtlFile
call fcn.004022b0
mov ecx, dword [ebp - 0x13c0]
mov dword [ecx], 0x9d
jmp 0x404141
push 0
push str.utl_FileUnpack:Err:_162.
push str.UtlFile
call fcn.004022b0
mov edx, dword [ebp - 0x13c0]
mov dword [edx], 0xa2
jmp 0x404141
push 0
push str.utl_FileUnpack:Err:_155.
push str.UtlFile
call fcn.004022b0
mov edx, dword [ebp - 0x13c0]
mov dword [edx], 0x9b
jmp 0x40375e
push 0
push str.utl_FileUnpack:Err:_151.
push str.UtlFile
call fcn.004022b0
mov eax, dword [ebp - 0x13c0]
add esp, 0xc
mov dword [eax], 0x97
cmp dword [ebp - 0x13a8], esi
jb 0x40430d
mov ecx, dword [ebp - 0x13bc]
push ecx
call fcn.00404bff
add esp, 4
mov dword [ebp - 0x13a8], 0xf
mov dword [ebp - 0x13ac], 0
mov byte [ebp - 0x13bc], 0
cmp dword [ebp - 0x138c], esi
jb 0x404360
mov edx, dword [ebp - 0x13a0]
push edx
call fcn.00404bff
add esp, 4
jmp 0x404360
push esi
push str.utl_FileUnpack:Err:_150.
push str.UtlFile
call fcn.004022b0
mov eax, dword [ebp - 0x13c0]
add esp, 0xc
mov dword [eax], 0x96
xor eax, eax
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.00404c0a
mov esp, ebp
pop ebp
ret