Function at 0x482df0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x20
push ebx
mov ebx, dword [esp + 0x28]
push ebp
push esi
push edi
mov esi, dword [ebx + 0x440]
mov esi, dword [esi]
mov al, byte [esi + 0x5278]
mov edi, dword [esi + 0x60]
and al, 7
mov ecx, dword [esi + 0x64]
inc al
mov ebp, dword [esi + 0x5c]
mov byte [esp + 0x34], al
mov eax, dword [esi + 0x4c]
sar eax, 1
sub edi, dword [esi + 0x68]
mov dword [esp + 0x28], ebp
sbb ecx, dword [esi + 0x6c]
cdq
cmp ecx, edx
jg 0x483203
jl 0x482e40
cmp edi, eax
ja 0x483203
nop dword [eax]
mov eax, dword [esi + 0x80]
dec eax
cmp dword [esi + 0x526c], eax
jg 0x4831ff
jne 0x482e69
movsx ecx, byte [esi + 0x5268]
movzx eax, byte [esp + 0x34]
cmp ecx, eax
jge 0x4831ff
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x1c]
push eax
push edi
lea eax, [esi + 0xf74]
push eax
push ebx
call fcn.00482cf0
add esp, 0x10
test eax, eax
jne 0x4831f2
mov eax, dword [esp + 0x1c]
mov ecx, 0x100
cmp ax, cx
jae 0x482ec3
mov edx, dword [esi + 0x60]
mov eax, edx
mov ecx, dword [esi + 0x64]
add eax, 1
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x50]
adc ecx, 0
mov dword [esi + 0x64], ecx
mov ecx, dword [esi + 0x78]
add ecx, edx
mov edx, dword [esp + 0x1c]
and ecx, ebp
mov byte [ecx + eax], dl
jmp 0x483194
mov edx, 0x106
cmp ax, dx
jb 0x4830c0
add eax, 0xfffffefa
push eax
push edi
push esi
push ebx
call fcn.00482c60
mov ebp, eax
add esp, 0x10
cmp ebp, 0xffffffff
je 0x4831d5
lea eax, [esp + 0x10]
push eax
push edi
lea ecx, [esi + 0x1e60]
push ecx
push ebx
call fcn.00482cf0
add esp, 0x10
test eax, eax
jne 0x4831ce
mov ax, word [esp + 0x10]
cmp ax, 4
jae 0x482f1f
movzx edi, ax
inc edi
jmp 0x48306e
movzx eax, ax
mov ecx, eax
and eax, 1
shr ecx, 1
or eax, 2
dec ecx
shl eax, cl
mov dword [esp + 0x20], ecx
lea edi, [eax + 1]
mov dword [esp + 0x24], edi
test ecx, ecx
jle 0x48306e
cmp ecx, 4
jl 0x483022
jle 0x482fe9
mov eax, dword [esi + 0x526c]
cmp eax, dword [esi + 0x80]
jge 0x4831aa
mov ecx, dword [esp + 0x38]
mov dl, byte [esi + 0x5268]
movzx edi, byte [eax + ecx]
movzx eax, byte [eax + ecx + 1]
shl edi, 8
or edi, eax
mov eax, dword [esi + 0x526c]
shl edi, 8
movzx eax, byte [eax + ecx + 2]
or edi, eax
mov eax, dword [esi + 0x526c]
shl edi, 8
movzx eax, byte [eax + ecx + 3]
mov cl, dl
or edi, eax
mov eax, dword [esp + 0x38]
shl edi, cl
mov ecx, dword [esi + 0x526c]
movzx eax, byte [ecx + eax + 4]
mov ecx, 8
sub cl, dl
shr eax, cl
or edi, eax
movsx eax, dl
mov edx, dword [esp + 0x20]
lea ecx, [edx - 4]
add ecx, eax
mov eax, ecx
and cl, 7
mov byte [esi + 0x5268], cl
mov ecx, 0x24
sub ecx, edx
sar eax, 3
add dword [esi + 0x526c], eax
shr edi, cl
shl edi, 4
add edi, dword [esp + 0x24]
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x3c]
lea eax, [esi + 0x2d4c]
push eax
push ebx
call fcn.00482cf0
add esp, 0x10
test eax, eax
jne 0x4831ce
movzx ecx, word [esp + 0x14]
mov eax, accept
sub eax, ecx
cmp edi, eax
jge 0x4831b1
add edi, ecx
jmp 0x48306e
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x3c]
push esi
push ebx
call fcn.00485e20
add esp, 0x10
test eax, eax
jne 0x483205
movsx ecx, byte [esi + 0x5268]
mov edx, dword [esp + 0x20]
add ecx, edx
mov eax, ecx
and cl, 7
sar eax, 3
add dword [esi + 0x526c], eax
movzx eax, word [esp + 0x18]
mov byte [esi + 0x5268], cl
mov ecx, 0x10
sub cl, dl
shr eax, cl
add edi, eax
cmp edi, 0x100
jle 0x483089
inc ebp
cmp edi, 0x2000
jle 0x483089
inc ebp
cmp edi, 0x40000
jle 0x483089
inc ebp
mov eax, dword [esi + 0x4b44]
mov dword [esi + 0x4b48], eax
mov eax, dword [esi + 0x4b40]
mov dword [esi + 0x4b44], eax
mov eax, dword [esi + 0x4b3c]
push edi
mov dword [esi + 0x4b40], eax
mov dword [esi + 0x4b3c], edi
mov dword [esi + 0x84], ebp
push ebp
jmp 0x483183
cmp ax, cx
jne 0x4830dc
push edi
push ebx
call fcn.004839f0
add esp, 8
test eax, eax
jne 0x483205
jmp 0x483194
mov ecx, 0x101
cmp ax, cx
jne 0x483111
mov eax, dword [esi + 0x84]
test eax, eax
je 0x483194
push dword [esi + 0x4b3c]
push eax
push ebx
call fcn.00482a30
add esp, 0xc
test eax, eax
jne 0x4831e5
jmp 0x483194
movzx ecx, ax
sub ecx, 0x102
mov ebp, dword [esi + ecx*4 + 0x4b3c]
test ecx, ecx
jle 0x483143
nop word [eax + eax]
mov eax, dword [esi + ecx*4 + 0x4b38]
mov dword [esi + ecx*4 + 0x4b3c], eax
dec ecx
test ecx, ecx
jg 0x483130
lea eax, [esp + 0x2c]
mov dword [esi + 0x4b3c], ebp
push eax
push edi
lea eax, [esi + 0x3c38]
push eax
push ebx
call fcn.00482cf0
add esp, 0x10
test eax, eax
jne 0x4831e5
push dword [esp + 0x2c]
push edi
push esi
push ebx
call fcn.00482c60
add esp, 0x10
cmp eax, 0xffffffff
je 0x4831e5
push ebp
mov dword [esi + 0x84], eax
push eax
push ebx
call fcn.00482a30
add esp, 0xc
test eax, eax
jne 0x4831e5
mov ebp, dword [esp + 0x28]
mov edi, dword [esi + 0x60]
sub edi, dword [esi + 0x68]
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0x4c]
sbb ecx, dword [esi + 0x6c]
sar eax, 1
jmp 0x482e29
push str.Premature_end_of_stream_during_extraction_of_data__1_
jmp 0x4831da
push str.Distance_pointer_overflow
push 0x2a
push ebx
call fcn.004649c0
add esp, 0xc
mov eax, 0xffffffe2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push str.Failed_to_decode_the_distance_slot
jmp 0x4831da
push str.Failed_to_decode_the_code_length
push 0x16
push ebx
call fcn.004649c0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0xffffffe2
pop ebx
add esp, 0x20
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x20
ret
or byte [esi + 0x38], 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret