Function at 0x41f049
Capabilities:
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x1ac
push ebx
push esi
push edi
mov esi, ecx
push 0
lea edi, [esi + 4]
push 0x80
mov ecx, edi
call fcn.0048ea50
push 4
pop edx
mov ecx, eax
call fcn.0047267a
mov ebx, eax
mov eax, dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x70], eax
cmp ebx, 0xffffffff
jne 0x41f098
mov ecx, edi
call fcn.0048ea50
push eax
push str.Cant_open_archive_file__s
jmp 0x41f280
push 0x40
lea edx, [ebp - 0x3c]
mov ecx, ebx
call fcn.004a3c17
test eax, eax
jne 0x41f273
mov eax, 0x5a4d
cmp word [ebp - 0x3c], ax
jne 0x41f273
push 0
push 0
push dword [ebp]
push ebx
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
cmp eax, 0xffffffff
jne 0x41f0e9
push dword [ebp]
push dword [edi]
push str.Cant_set_pointer_in_btinstall_file__s_to__d
lea eax, [ebp + 0x74]
push eax
call fcn.0048f08b
add esp, 0x10
jmp 0x41f28c
push 0xf8
lea edx, [ebp - 0x134]
mov ecx, ebx
call fcn.004a3c17
test eax, eax
jne 0x41f273
cmp dword [ebp - 0x134], 0x4550
jne 0x41f273
push 0x28
lea edx, [ebp + 0x30]
mov ecx, ebx
call fcn.004a3c17
test eax, eax
je 0x41f135
mov ecx, edi
call fcn.0048ea50
push eax
push str.Cant_read_sectiontable_of__s
jmp 0x41f280
xor eax, eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x68], eax
cmp ax, word [ebp - 0x12e]
jae 0x41f17b
mov eax, dword [ebp + 0x44]
cmp eax, dword [ebp + 0x58]
jbe 0x41f15c
mov ecx, dword [ebp + 0x40]
add ecx, eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x74], ecx
push 0x28
lea edx, [ebp + 0x30]
mov ecx, ebx
call fcn.004a3c17
test eax, eax
jne 0x41f1b2
movzx eax, word [ebp - 0x12e]
inc dword [ebp + 0x68]
cmp dword [ebp + 0x68], eax
jl 0x41f149
lea ecx, [ebp + 0x6c]
call fcn.0041ee61
xor ebx, ebx
push ebx
push dword [ebp + 0x74]
mov ecx, edi
call fcn.0048ea50
mov ecx, eax
call fcn.004dec7d
mov dword [esi], eax
cmp eax, ebx
jne 0x41f1c7
lea eax, [ebp + 0x74]
push str.Cant_create_zip_file
push eax
call fcn.0048f08b
pop ecx
pop ecx
jmp 0x41f28c
mov ecx, edi
call fcn.0048ea50
push eax
push dword [ebp + 0x68]
push str.Cant_read_section__d_of__s
jmp 0x41f0d8
mov ecx, eax
call fcn.004deee1
test al, al
je 0x41f29e
lea eax, [ebp + 0x5c]
push eax
push str.btinstall.txt
mov ecx, esi
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x60], ebx
call fcn.0041efc8
test al, al
je 0x41f24f
cmp dword [ebp + 0x64], ebx
je 0x41f24f
lea ecx, [ebp + 4]
call fcn.0041eb59
push ebx
lea eax, [ebp + 4]
push eax
push dword [ebp + 0x64]
mov ecx, 0x5318c0
push dword [ebp + 0x5c]
push 0xb
pop edx
call fcn.00472cf8
lea eax, [ebp + 4]
push eax
mov ecx, esi
call fcn.0041ed2b
lea ecx, [ebp + 0x5c]
call fcn.0048e6b4
lea ecx, [esi + 0x38]
call fcn.0048e964
mov ecx, eax
call fcn.0048c22b
push eax
lea ecx, [esi + 0x40]
call fcn.0048ea75
lea ecx, [ebp + 4]
call fcn.0041eb7e
mov bl, 1
jmp 0x41f267
push dword [0x550708]
lea ecx, [esi + 0x48]
call fcn.0048ea75
lea ecx, [ebp + 0x5c]
call fcn.0048e6b4
xor bl, bl
lea ecx, [ebp + 0x6c]
call fcn.0041ee61
mov al, bl
jmp 0x41f2a8
mov ecx, edi
call fcn.0048ea50
push eax
push str.Cant_read_header_of__s
lea eax, [ebp + 0x74]
push eax
call fcn.0048f08b
add esp, 0xc
push dword [eax]
lea ecx, [esi + 0x48]
call fcn.0048ea75
lea ecx, [ebp + 0x74]
call fcn.0048e75f
lea ecx, [ebp + 0x6c]
call fcn.0041ee61
xor al, al
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret