Function at 0x5bd0b0
Capabilities:
Terminate process

Disassembly:
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
cmp dword [esi + 4], ebx
jne 0x5bd0d2
push ebx
push ebx
push str.LosslessCompression___Compression_object_is_not_constructed.
call fcn.0062dd90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret 0xc
mov eax, dword [esp + 0x18]
cmp eax, ebx
jne 0x5bd0ef
push ebx
push ebx
push str.LossLessCompression___CompressImage___Input_Buffer_is_initialized.
call fcn.0062dd90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret 0xc
cmp edx, ebx
jne 0x5bd108
push ebx
push ebx
push str.LossLessCompression___CompressImage___Output_Buffer_is_initialized.
call fcn.0062dd90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret 0xc
cmp word [esi + 0x28], 0xffff
jne 0x5bd124
push ebx
push ebx
push str.LosslessCompression___CompressImage__Supports_only_8__10__12__16__and_24_bit_Image_Compression.
call fcn.0062dd90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret 0xc
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x94], ebx
mov dword [esi + 0x9c], ebx
mov dword [esi + 0xac], ebx
mov dword [esi + 0xb0], ebx
mov dword [esi + 0x10b4], ebx
mov dword [esi + 0x10c8], ebx
mov dword [ecx + 0x118], ebx
mov ecx, dword [esi + 0x10d8]
mov dword [esi + 0x10c0], edx
cmp ecx, 8
mov dword [esi + 0x10c4], ebx
push eax
mov ecx, esi
jne 0x5bd172
call sym.CDViewer.exe_private:_void___thiscall_CLosslessCompression::InitCompressInfoData_unsigned_char__
jmp 0x5bd177
call sym.CDViewer.exe_private:_void___thiscall_CLosslessCompression::InitCompressInfoData_short_int__
mov edx, dword [esi + 0x10c0]
mov eax, dword [esi + 0x10c8]
push 0xc3
mov byte [edx + eax], 0xff
mov edi, dword [esi + 0x10c8]
mov ecx, dword [esi + 0x10c0]
inc edi
mov eax, edi
mov dword [esi + 0x10c8], edi
mov byte [ecx + eax], 0xd8
mov edx, dword [esi + 0x10c8]
inc edx
mov ecx, esi
mov dword [esi + 0x10c8], edx
call sym.CDViewer.exe_private:_void___thiscall_CLosslessCompression::EmitSof_enum_JpegMarker_
xor edi, edi
cmp word [esi + 0x3c], bx
jle 0x5bd1e0
lea ebp, [esi + 0x2c]
mov edx, dword [ebp]
push ebx
mov ecx, esi
movsx eax, word [edx + 8]
push eax
call sym.CDViewer.exe_private:_void___thiscall_CLosslessCompression::EmitDht_int__int_
movsx ecx, word [esi + 0x3c]
inc edi
add ebp, 4
cmp edi, ecx
jl 0x5bd1c4
mov ecx, dword [esi + 0x6c]
cmp ecx, ebx
je 0x5bd278
mov eax, dword [esi + 0x18]
imul eax, ecx
cmp eax, 0xffff
jle 0x5bd20b
push ebx
push ebx
push sym.CDViewer.exe____C__0DP_BJLJ_LosslessCompression_5_9_5EmitDri__CI__CJ_5_
call fcn.0062dd90
push 0xffffffffffffffff
call fcn.005e246f
mov edx, dword [esi + 0x10c0]
mov ecx, dword [esi + 0x10c8]
push eax
mov byte [edx + ecx], 0xff
mov ecx, dword [esi + 0x10c8]
mov edx, dword [esi + 0x10c0]
inc ecx
mov dword [esi + 0x10c8], ecx
mov byte [edx + ecx], 0xdd
mov ebp, dword [esi + 0x10c8]
mov edx, dword [esi + 0x10c0]
inc ebp
mov ecx, ebp
mov dword [esi + 0x10c8], ebp
mov byte [edx + ecx], bl
mov edi, dword [esi + 0x10c8]
mov edx, dword [esi + 0x10c0]
inc edi
mov ecx, edi
mov dword [esi + 0x10c8], edi
mov byte [edx + ecx], 4
mov edx, dword [esi + 0x10c8]
inc edx
mov ecx, esi
mov dword [esi + 0x10c8], edx
call sym.CDViewer.exe_private:_void___thiscall_CLosslessCompression::Emit2bytes_int_
mov ecx, esi
call sym.CDViewer.exe_private:_void___thiscall_CLosslessCompression::EmitSos_void_
mov eax, dword [esp + 0x1c]
mov ecx, esi
cmp eax, ebx
jne 0x5bd290
call sym.CDViewer.exe_private:_void___thiscall_CLosslessCompression::HuffEncode_void_
jmp 0x5bd295
call sym.CDViewer.exe_private:_void___thiscall_CLosslessCompression::HuffEncodeImgReverse_void_
mov edx, dword [esi + 0xb0]
mov eax, dword [0x6ebc34]
add edx, 7
mov ecx, 0x18
and eax, 0x7f
sub ecx, edx
shl eax, cl
mov ecx, dword [esi + 0xac]
or eax, ecx
cmp edx, 8
mov dword [esp + 0x18], eax
jl 0x5bd312
shr edx, 3
mov ecx, dword [esi + 0x10c0]
mov edi, dword [esi + 0x10c8]
xor eax, eax
mov al, byte [esp + 0x1a]
mov byte [ecx + edi], al
mov ebp, dword [esi + 0x10c8]
inc ebp
cmp eax, 0xff
mov dword [esi + 0x10c8], ebp
mov ecx, ebp
jne 0x5bd304
mov eax, dword [esi + 0x10c0]
mov byte [eax + ecx], bl
mov eax, dword [esi + 0x10c8]
inc eax
mov dword [esi + 0x10c8], eax
mov ecx, dword [esp + 0x18]
shl ecx, 8
dec edx
mov dword [esp + 0x18], ecx
jne 0x5bd2c3
mov eax, dword [esi + 0x10c8]
mov dword [esi + 0xac], ebx
mov ecx, eax
mov dword [esi + 0xb0], ebx
and ecx, reloc.WSOCK32.dll_accept
jns 0x5bd333
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x5bd34c
mov edx, dword [esi + 0x10c0]
mov byte [edx + eax], 0xff
mov eax, dword [esi + 0x10c8]
inc eax
mov dword [esi + 0x10c8], eax
mov eax, dword [esi + 0x10c0]
mov ecx, dword [esi + 0x10c8]
mov byte [eax + ecx], 0xff
mov edi, dword [esi + 0x10c8]
mov edx, dword [esi + 0x10c0]
inc edi
mov eax, edi
mov dword [esi + 0x10c8], edi
mov byte [edx + eax], 0xd9
mov edx, dword [esi + 0x10c8]
inc edx
mov eax, edx
mov dword [esi + 0x10c8], edx
cmp eax, ebx
jle 0x5bd3a2
cmp dword [esi + 0x10c4], 1
jne 0x5bd3a2
mov edx, dword [esi + 8]
lea ecx, [esi + 8]
push eax
lea eax, [esi + 0xb4]
push eax
call dword [edx + 0x38]
mov ecx, dword [esi + 0x10c8]
mov edx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov dword [edx], ecx
mov eax, 1
pop ebx
ret 0xc