Function at 0x4132ec
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x26c
mov eax, dword [0x44200c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, edx
mov edi, ecx
xor ecx, ecx
test ebx, ebx
je 0x41330f
mov dword [ebx + 4], ecx
mov eax, dword [edi]
xorps xmm0, xmm0
push ecx
push ecx
push ecx
mov ecx, edi
movlpd qword [ebp - 0x98], xmm0
call dword [eax + 0x20]
mov eax, dword [edi]
lea ecx, [ebp - 0x168]
push 0x40
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x413971
mov eax, 0x5a4d
cmp word [ebp - 0x168], ax
jne 0x413971
mov eax, dword [ebp - 0x12c]
test eax, eax
je 0x41396a
js 0x41396a
mov esi, dword [edi]
mov ecx, edi
cdq
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
call dword [esi + 0x28]
mov esi, dword [ebp - 0x25c]
cmp esi, edx
jg 0x41396a
mov ecx, dword [ebp - 0x260]
jl 0x413394
cmp ecx, eax
ja 0x41396a
mov eax, dword [edi]
push 0
push esi
push ecx
mov ecx, edi
call dword [eax + 0x20]
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x12c]
cdq
cmp ecx, eax
jne 0x413971
cmp esi, edx
jne 0x413971
mov eax, dword [edi]
lea ecx, [ebp - 0xd0]
push 4
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x413971
cmp dword [ebp - 0xd0], 0x4550
jne 0x41396a
mov eax, dword [edi]
lea ecx, [ebp - 0x104]
push 0x14
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x413971
mov eax, dword [edi]
lea ecx, [ebp - 0x9c]
push 2
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x413971
mov ax, word [ebp - 0x9c]
xor edx, edx
mov ecx, 0x10b
mov esi, edx
cmp ax, cx
jne 0x41342c
add ecx, 0xffffffd3
jmp 0x413442
mov ecx, 0x20b
cmp ax, cx
jne 0x413971
xor esi, esi
mov ecx, 0xee
inc esi
push ecx
mov word [ebp - 0x258], ax
lea ecx, [ebp - 0x256]
mov eax, dword [edi]
push ecx
mov ecx, edi
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x25c], edx
call dword [eax + 0x18]
test eax, eax
je 0x413971
mov eax, dword [ebp - 0x1e8]
test esi, esi
cmovne eax, dword [ebp - 0x1d8]
xor edx, edx
mov dword [ebp - 0x268], eax
mov esi, edx
xor eax, eax
cmp ax, word [ebp - 0x102]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x264], eax
jae 0x4136b2
mov eax, dword [edi]
lea ecx, [ebp - 0xcc]
push 0x28
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x413971
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x41351e
mov eax, dword [ebp - 0xb8]
add eax, ecx
xor ecx, ecx
cmp ecx, dword [ebp - 0x260]
jl 0x41351e
jg 0x4134ea
cmp eax, dword [ebp - 0x264]
jbe 0x41351e
push 8
lea eax, [ebp - 0xcc]
push str._winzip_
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x41351e
mov eax, dword [ebp - 0xbc]
add eax, dword [ebp - 0xb8]
mov dword [ebp - 0x264], eax
xor eax, eax
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x8c], 0
jne 0x413559
push 8
lea eax, [ebp - 0xcc]
push str..rsrc
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
jne 0x413559
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x25c], eax
test ebx, ebx
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push str..text
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push 0x43cd30
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push str..edata
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push str..reloc
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push 0x43cd48
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push str..idata
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push str..rsrc
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push str.UPX0
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push str.UPX1
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push str..CRT
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
push 8
lea eax, [ebp - 0xcc]
push 0x43cd70
push eax
call fcn.00425570
add esp, 0xc
test eax, eax
je 0x4136a0
mov eax, dword [ebp - 0xb8]
mov dword [ebx + 8], eax
movzx eax, word [ebp - 0x102]
inc esi
cmp esi, eax
jl 0x4134ac
xor edx, edx
test ebx, ebx
je 0x41395c
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x41395c
mov eax, dword [edi]
push edx
push edx
push ecx
mov ecx, edi
call dword [eax + 0x20]
mov eax, dword [edi]
lea ecx, [ebp - 0xe0]
push 0x10
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x41395c
mov esi, dword [ebp - 0x25c]
add esi, 0xfffffff0
js 0x41395c
xor eax, eax
mov dword [ebp - 0x25c], eax
cmp ax, word [ebp - 0xd4]
jae 0x413743
mov eax, dword [edi]
lea ecx, [ebp - 0xa4]
push 8
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x41395c
sub esi, 8
js 0x41395c
mov ecx, dword [ebp - 0x25c]
movzx eax, word [ebp - 0xd4]
inc ecx
mov dword [ebp - 0x25c], ecx
cmp ecx, eax
jl 0x41370a
xor eax, eax
mov dword [ebp - 0x25c], eax
cmp ax, word [ebp - 0xd2]
jae 0x41395c
mov eax, dword [edi]
lea ecx, [ebp - 0xa4]
push 8
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x41395c
sub esi, 8
js 0x41395c
cmp word [ebp - 0xa4], 0xa
je 0x4137a0
mov ecx, dword [ebp - 0x25c]
movzx eax, word [ebp - 0xd2]
inc ecx
mov dword [ebp - 0x25c], ecx
cmp ecx, eax
jl 0x413758
jmp 0x41395c
mov eax, dword [ebp - 0xa0]
and eax, 0x7fffffff
je 0x41395c
mov edx, dword [edi]
xor ecx, ecx
mov esi, dword [ebp - 0x8c]
add eax, esi
push ecx
push ecx
push eax
mov ecx, edi
call dword [edx + 0x20]
mov eax, dword [edi]
lea ecx, [ebp - 0xf0]
push 0x10
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x41395c
movzx ecx, word [ebp - 0xe4]
movzx eax, word [ebp - 0xe2]
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x25c], ecx
test eax, eax
je 0x41395c
mov eax, dword [edi]
lea ecx, [ebp - 0xa4]
push 8
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x41395c
mov ecx, dword [ebp - 0xa0]
mov eax, 0x80000000
test eax, ecx
je 0x41395c
mov edx, dword [ebp - 0xa4]
test eax, edx
je 0x4138c2
mov eax, dword [edi]
xor ecx, ecx
push ecx
and edx, 0x7fffffff
push ecx
add edx, esi
mov ecx, edi
push edx
call dword [eax + 0x20]
mov eax, dword [edi]
lea ecx, [ebp - 0x8c]
push 2
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x41395c
mov eax, dword [ebp - 0x8c]
push 0x3f
pop edx
cmp dx, ax
movzx ecx, ax
cmovb ecx, edx
mov edx, dword [edi]
movzx ecx, cx
mov eax, ecx
mov ecx, edi
mov dword [ebp - 0x8c], eax
add eax, eax
push eax
lea eax, [ebp - 0x88]
push eax
call dword [edx + 0x18]
test eax, eax
je 0x41395c
movzx eax, word [ebp - 0x8c]
add eax, eax
cmp eax, 0x80
jae 0x413985
xor ecx, ecx
mov word [ebp + eax - 0x88], cx
mov ecx, dword [ebp - 0xa0]
mov eax, dword [edi]
xor edx, edx
push edx
and ecx, 0x7fffffff
add ecx, esi
push edx
push ecx
mov ecx, edi
call dword [eax + 0x20]
mov eax, dword [edi]
lea ecx, [ebp - 0x114]
push 0x10
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x41395c
cmp word [ebp - 0x106], 0
jne 0x41390f
mov eax, dword [ebp - 0x25c]
inc eax
mov dword [ebp - 0x25c], eax
cmp eax, dword [ebp - 0x94]
jl 0x413803
jmp 0x41395c
mov eax, dword [edi]
lea ecx, [ebp - 0x98]
push 8
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x41395c
mov eax, dword [ebp - 0x94]
xor ecx, ecx
mov edx, dword [edi]
add eax, esi
push ecx
push ecx
push eax
mov ecx, edi
call dword [edx + 0x20]
mov eax, dword [edi]
lea ecx, [ebp - 0x124]
push 0x10
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x41395c
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x268]
add ecx, esi
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
jmp 0x413976
test ebx, ebx
je 0x413971
mov byte [ebx], 1
or edx, 0xffffffff
mov eax, edx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041d487
leave
ret
call fcn.0041da8b
int3