Function at 0x4ea380
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x48
mov esi, esp
mov dword [esi + 0x30], ebp
mov dword [esi + 0x34], esp
mov dword [esi + 0x40], 0xffffffff
lea eax, [esi + 0x38]
mov dword [esi + 0x3c], 0x55d220
mov ecx, dword fs:[0]
mov dword [esi + 0x38], ecx
mov dword fs:[0], eax
mov eax, dword [0x598fe0]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x598fe4], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
mov byte [esi + 0xc], al
nop
push eax
sub esp, 0x14
mov dword [esi + 0x14], esp
sub esp, 0x18
mov dword [esi + 4], esp
push eax
mov ecx, esp
sub esp, 0x28
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
push eax
mov ebx, esp
sub esp, 0x28
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov edx, esp
test byte [esi + 0xc], 1
je 0x4ea3e0
mov dword [esi + 0xc], ecx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x1c], eax
lea ecx, [ebp + 8]
lea eax, [ecx + 8]
mov dword [esi + 0x18], eax
lea eax, [ecx + 0x34]
mov dword [esi + 0x20], eax
cmp byte [ecx + 0x30], 0
mov dword [esi + 0x10], edi
je 0x4ea8c2
mov dword [esi + 0x24], edx
mov eax, dword [0x5974e8]
mov ebx, dword [0x5974ec]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ebx, 0xa
setl ah
xor ah, al
mov eax, 0x67a8215d
mov edi, 0xe2a1ad2c
cmovne edi, eax
cmp edx, 0xffffffff
mov ecx, dword [ecx]
mov dword [esi + 0x2c], ecx
vxorps xmm0, xmm0, xmm0
mov ecx, dword [esi + 4]
vmovups xmmword [ecx], xmm0
mov dword [ecx + 0x14], 0
sete byte [esi + 3]
mov dword [ecx + 0x10], 0
cmovne eax, edi
cmp ebx, 0xa
setl byte [esi + 2]
cmovge eax, edi
mov edi, 0x48a73950
mov edx, 0x255a5ce
nop word cs:[eax + eax]
cmp edi, 0x48a7394f
jg 0x4ea4d0
cmp edi, 0xe2a1ad2c
je 0x4ea50a
cmp edi, 0x255a5ce
jne 0x4ea4b0
mov edi, eax
jmp 0x4ea4b0
cmp edi, 0x67a8215d
je 0x4ea511
cmp edi, 0x48a73950
jne 0x4ea4b0
movzx ebx, byte [esi + 3]
movzx ecx, byte [esi + 2]
mov bh, cl
xor bh, bl
test cl, cl
mov edi, 0xe2a1ad2c
cmovne edi, edx
test bl, bl
mov ecx, 0xe2a1ad2c
cmove edi, ecx
test bh, bh
mov ecx, dword [esi + 4]
cmovne edi, edx
jmp 0x4ea4b0
mov edi, 0x255a5ce
jmp 0x4ea4b0
mov dword [esi + 8], 0x10
mov eax, dword [esi + 8]
mov dword [esi + 0x40], 0
push eax
push str.Content_Encoding
call fcn.004134d0
mov dword [esi + 0x40], 5
mov ecx, dword [esi + 0x2c]
push 0
push dword [esi + 4]
push dword [esi + 0x14]
call fcn.004c3750
mov eax, dword [0x598fe0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x598fe4], 0xa
setl cl
test cl, al
mov ebx, dword [esi + 0xc]
jne 0x4ea575
xor cl, al
je 0x4ea6ac
jmp 0x4ea575
mov ecx, dword [esi + 4]
call fcn.0040e680
mov eax, dword [0x598fe8]
mov ecx, dword [0x598fec]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 3]
cmp ecx, 0xa
setl byte [esi + 2]
mov edi, 0x9451748
mov eax, 0x366dbca3
mov edx, 0x6f400723
nop
cmp edi, 0x366dbca2
jg 0x4ea5e0
cmp edi, 0x9451748
je 0x4ea5f2
cmp edi, 0x2830fd1c
jne 0x4ea5b0
mov dword [ebx], 0
mov edi, 0x366dbca3
jmp 0x4ea5b0
cmp edi, 0x366dbca3
je 0x4ea61b
cmp edi, 0x6f400723
jne 0x4ea5b0
jmp 0x4ea66a
movzx ecx, byte [esi + 3]
mov bh, byte [esi + 2]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0x2830fd1c
cmovne edi, eax
test cl, cl
mov ecx, 0x2830fd1c
cmove edi, ecx
test bl, bl
mov ebx, dword [esi + 0xc]
cmovne edi, eax
jmp 0x4ea5b0
mov dword [esi + 8], ebx
mov ecx, dword [esi + 8]
mov dword [ecx], 0
mov ecx, dword [0x598fe8]
mov ebx, dword [0x598fec]
lea edi, [ecx + 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete cl
cmp ebx, 0xa
setl ch
xor ch, cl
mov ecx, 0x2830fd1c
cmovne ecx, edx
cmp edi, 0xffffffff
mov edi, ecx
cmove edi, edx
cmp ebx, 0xa
mov ebx, dword [esi + 0xc]
cmovge edi, ecx
jmp 0x4ea5b0
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x14]
push str.gzip
call fcn.0049da90
mov edx, dword [0x598fe0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x598fe4], 0xa
setl dh
setge dl
cmp dh, ah
jne 0x4ea7b1
or dl, cl
test dl, 1
je 0x4ea7b1
mov ecx, dword [esi + 4]
call fcn.0040e680
mov eax, dword [0x598fe8]
mov ecx, dword [0x598fec]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 3]
cmp ecx, 0xa
setl byte [esi + 2]
mov edi, 0x9451748
jmp 0x4ea710
movzx ecx, byte [esi + 3]
mov bh, byte [esi + 2]
mov bl, cl
xor bl, bh
mov eax, 0x2830fd1c
mov edx, 0x366dbca3
cmovne eax, edx
test bh, bh
mov ebx, dword [esi + 0xc]
mov edi, eax
cmovne edi, edx
test cl, cl
cmove edi, eax
nop word cs:[eax + eax]
cmp edi, 0x366dbca2
jg 0x4ea740
cmp edi, 0x9451748
je 0x4ea6df
cmp edi, 0x2830fd1c
jne 0x4ea710
mov dword [ebx], 0
mov edi, 0x366dbca3
jmp 0x4ea710
cmp edi, 0x366dbca3
je 0x4ea752
cmp edi, 0x6f400723
jne 0x4ea710
jmp 0x4ea79c
mov dword [esi + 8], ebx
mov eax, dword [esi + 8]
mov dword [eax], 0
mov eax, dword [0x598fe8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov edi, 0x2830fd1c
mov edx, 0x6f400723
cmove edi, edx
cmp dword [0x598fec], 0xa
mov ecx, 0x2830fd1c
cmovge edi, ecx
setl cl
xor cl, al
cmovne edi, edx
jmp 0x4ea710
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x14]
push str.gzip
call fcn.0049da90
jmp 0x4ea575
test al, al
mov edi, dword [esi + 0x10]
jne 0x4ea862
mov ecx, dword [esi + 0x14]
push str.deflate
call fcn.0049da90
mov edx, dword [0x598fe0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x598fe4], 0xa
setl dh
setge dl
cmp dh, ah
jne 0x4ea846
or dl, cl
test dl, 1
je 0x4ea846
mov ebx, dword [esi + 0x14]
nop word cs:[eax + eax]
mov ecx, ebx
push str.deflate
call fcn.0049da90
mov ecx, ebx
push str.deflate
call fcn.0049da90
mov ecx, dword [0x598fe0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ah
cmp dword [0x598fe4], 0xa
setge dl
setl ch
xor ch, ah
jne 0x4ea846
or dl, cl
jne 0x4ea800
test al, al
jne 0x4ea862
mov ecx, dword [esi + 0x14]
push 0
push 0x58600b
call fcn.004eaec0
cmp eax, 0xffffffff
je 0x4eac7b
lea eax, [ebp + 8]
mov eax, dword [eax + 4]
mov dword [eax], 0x19f
mov dword [esi + 4], 0
xor ebx, ebx
mov ecx, dword [esi + 0xc]
call fcn.004ebd90
mov ecx, dword [esi + 0x14]
call fcn.0040e680
test bl, bl
je 0x4eaa37
mov eax, dword [0x598fe0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x598fe4], 0xa
setl cl
test cl, al
mov edx, dword [esi + 0x24]
jne 0x4ea8c2
xor cl, al
jne 0x4ea8c2
nop word [eax + eax]
jmp 0x4ea8c0
mov eax, dword [esi + 0x18]
mov dword [edx], eax
mov dword [edi + 0x24], 0
mov dword [esi + 0x40], 1
mov ecx, edi
push edx
call fcn.004f1560
mov eax, dword [0x598ff0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x598ff4], 0xa
setl cl
test cl, al
jne 0x4ea912
xor cl, al
jne 0x4ea912
nop word cs:[eax + eax]
jmp 0x4ea910
mov ecx, dword [0x598fe0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x598fe4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x4ea942
or cl, al
test cl, 1
je 0x4ea942
nop dword [eax + eax]
jmp 0x4ea940
mov dword [esi + 0x40], 2
mov ecx, dword [esi + 0x20]
push dword [esi + 0x10]
call fcn.004eb100
mov dword [esi + 4], eax
mov eax, dword [0x5984e0]
mov ecx, dword [0x5984e4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 2]
cmp ecx, 0xa
setl byte [esi + 8]
mov eax, 0xa4f7e97f
mov edi, 0xd5972fc5
mov ebx, 0x42c6fdc0
nop word [eax + eax]
cmp eax, 0x38a19b2f
jg 0x4ea9f0
cmp eax, 0xa4f7e97f
je 0x4eaa00
cmp eax, 0xd5972fc5
jne 0x4ea990
mov ecx, dword [esi + 0x10]
call fcn.004be9f0
mov eax, dword [0x5984e0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x38a19b30
cmove eax, ebx
cmp dword [0x5984e4], 0xa
mov edx, 0x38a19b30
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x4ea990
cmp eax, 0x38a19b30
je 0x4eaa25
cmp eax, 0x42c6fdc0
jne 0x4ea990
jmp 0x4eaa37
movzx ecx, byte [esi + 2]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x38a19b30
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4ea990
mov ecx, dword [esi + 0x10]
call fcn.004be9f0
mov eax, 0xd5972fc5
jmp 0x4ea990
mov eax, dword [0x598fe0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x598fe4], 0xa
setl cl
test cl, al
jne 0x4eaa63
xor cl, al
je 0x4eab7c
mov eax, dword [0x5984e0]
mov ecx, dword [0x5984e4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 2]
cmp ecx, 0xa
setl byte [esi + 8]
mov eax, 0xa4f7e97f
mov edi, 0xd5972fc5
mov ebx, 0x42c6fdc0
nop word cs:[eax + eax]
cmp eax, 0x38a19b2f
jg 0x4eab00
cmp eax, 0xa4f7e97f
je 0x4eab10
cmp eax, 0xd5972fc5
jne 0x4eaaa0
mov ecx, dword [esi + 0x18]
call fcn.004be9f0
mov edx, dword [0x5984e0]
mov ecx, dword [0x5984e4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x38a19b30
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edx
jmp 0x4eaaa0
cmp eax, 0x38a19b30
je 0x4eab35
cmp eax, 0x42c6fdc0
jne 0x4eaaa0
jmp 0x4eab47
movzx ecx, byte [esi + 2]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x38a19b30
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4eaaa0
mov ecx, dword [esi + 0x18]
call fcn.004be9f0
mov eax, 0xd5972fc5
jmp 0x4eaaa0
mov eax, dword [0x598fe0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x598fe4], 0xa
setge cl
setl ah
xor ah, dl
jne 0x4eac65
or cl, al
je 0x4eac65
mov eax, dword [0x5984e0]
mov ecx, dword [0x5984e4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 2]
cmp ecx, 0xa
setl byte [esi + 8]
mov eax, 0xa4f7e97f
mov edi, 0xd5972fc5
mov ebx, 0x42c6fdc0
jmp 0x4eabe0
movzx ecx, byte [esi + 2]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x38a19b30
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
nop word cs:[eax + eax]
cmp eax, 0x38a19b2f
jg 0x4eac40
cmp eax, 0xa4f7e97f
je 0x4eabb1
cmp eax, 0xd5972fc5
jne 0x4eabe0
mov ecx, dword [esi + 0x18]
call fcn.004be9f0
mov eax, dword [0x5984e0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x38a19b30
cmove eax, ebx
cmp dword [0x5984e4], 0xa
mov edx, 0x38a19b30
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x4eabe0
cmp eax, 0x38a19b30
je 0x4eac53
cmp eax, 0x42c6fdc0
jne 0x4eabe0
jmp 0x4eaa63
mov ecx, dword [esi + 0x18]
call fcn.004be9f0
mov eax, 0xd5972fc5
jmp 0x4eabe0
mov eax, dword [esi + 0x38]
mov dword fs:[0], eax
mov eax, dword [esi + 4]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
test ecx, ecx
je 0x4eacd2
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov dword [esi + 0x40], 3
call eax
mov ecx, dword [0x598fe0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne dh
sete ah
cmp dword [0x598fe4], 0xa
setge dl
setl ch
xor ch, ah
mov ecx, dword [esi + 0x1c]
mov edi, dword [esi + 0x28]
jne 0x4ead12
or dl, dh
je 0x4ead12
nop word cs:[eax + eax]
jmp 0x4eacd0
mov eax, dword [0x598fe0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x598fe4], 0xa
setl ah
setge cl
mov bl, 1
cmp ah, dl
jne 0x4eadec
or cl, al
mov dword [esi + 4], eax
je 0x4ea877
nop dword [eax]
jmp 0x4ead10
test al, al
je 0x4ead49
mov eax, dword [esi + 0xc]
mov dword [edi], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 4], eax
push edi
call fcn.004eb010
mov dword [esi + 0x40], 4
mov ecx, dword [esi + 0x20]
push dword [esi + 0x1c]
call fcn.004eb100
mov dword [esi + 4], eax
mov ecx, dword [esi + 0x1c]
call fcn.004ba6d0
jmp 0x4eade2
lea eax, [ebp + 8]
mov eax, dword [eax + 4]
mov dword [eax], 0x1f4
mov eax, dword [0x598fe0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x598fe4], 0xa
setl ah
setge cl
mov dword [esi + 4], 0
cmp ah, dl
jne 0x4eade2
or cl, al
mov ebx, 0
mov edi, dword [esi + 0x10]
lea edx, [ebp + 8]
je 0x4ea877
mov eax, dword [edx + 4]
mov dword [eax], 0x1f4
mov eax, dword [edx + 4]
mov dword [eax], 0x1f4
mov eax, dword [0x598fe0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x598fe4], 0xa
setl cl
mov dword [esi + 4], 0
test cl, al
jne 0x4ea875
xor cl, al
je 0x4ead98
jmp 0x4ea877
xor ebx, ebx
mov edi, dword [esi + 0x10]
jmp 0x4ea877
mov dword [esi + 4], eax
jmp 0x4ea877