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

Disassembly:
sub esp, 0x60
push ebx
mov ebx, dword [esp + 0x74]
push ebp
mov ebp, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x74]
mov eax, dword [ebp]
mov dword [esi + 0xe4], eax
mov dword [esi + 0xe8], 0xffffffff
cmp eax, 0x40108
ja 0x45ee1e
je 0x45ee25
test eax, eax
je 0x45ee25
cmp eax, 0x30401
je 0x45ee25
jmp 0x45eea1
cmp eax, 0x40202
jne 0x45eea1
test ebx, ebx
je 0x45eea1
mov ecx, dword [ebx]
cmp ecx, 0x3030103
je 0x45ee61
cmp ecx, 0x303011b
je 0x45ee61
push dword [ebp]
push ecx
push str.Unsupported_filter__lx_for__lx
push 0xffffffffffffffff
push dword [esp + 0x80]
call fcn.00466d90
add esp, 0x14
mov eax, 0xffffffe7
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov dword [esi + 0xe8], ecx
mov dword [esi + 0x4cf4], 0
cmp dword [ebx], 0x3030103
jne 0x45eea1
mov dword [esi + 0x4cf4], 0
mov dword [esi + 0x4d00], 0xffffffff
mov dword [esi + 0x4d04], 0
mov dword [esi + 0x4d08], 5
push edi
cmp eax, 0x303011b
ja 0x45f391
je 0x45f3c9
cmp eax, 0x30401
ja 0x45f20c
je 0x45f0e5
cmp eax, 0x21
ja 0x45eef0
je 0x45eefb
test eax, eax
je 0x45f387
cmp eax, 3
je 0x45f3c9
push eax
push str.Unknown_codec_ID:__lX
push 0xffffffffffffffff
push dword [esp + 0x80]
jmp 0x45f438
cmp eax, 0x30101
jne 0x45f3ef
xor edi, edi
cmp dword [esi + 0x148], edi
je 0x45ef1a
lea eax, [esi + 0xf0]
push eax
call fcn.00471330
add esp, 4
mov dword [esi + 0x148], edi
test ebx, ebx
je 0x45f021
mov eax, dword [ebx]
mov dword [esi + 0xe8], eax
mov dword [esp + 0x38], edi
cmp eax, 0x3030401
ja 0x45efe3
je 0x45efd9
cmp eax, 0x303011b
ja 0x45efc4
je 0x45efbc
cmp eax, 3
je 0x45ef7c
cmp eax, 0x3030103
jne 0x45f3c9
cmp dword [esi + 0xe4], 0x21
jne 0x45ef6e
mov dword [esp + 0x30], 4
jmp 0x45f018
push esi
call fcn.00462180
add esp, 4
jmp 0x45f021
xor eax, eax
mov dword [esp + 0x30], 3
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x14], 1
mov dword [esp + 0x38], eax
jmp 0x45f018
mov dword [esi + 0x4cf4], edi
jmp 0x45f021
cmp eax, 0x3030205
jne 0x45f3c9
mov dword [esp + 0x30], 5
jmp 0x45f018
mov dword [esp + 0x30], 6
jmp 0x45f018
cmp eax, 0x3030501
je 0x45f010
cmp eax, 0x3030701
je 0x45f006
cmp eax, 0x3030805
jne 0x45f3c9
mov dword [esp + 0x30], 9
jmp 0x45f018
mov dword [esp + 0x30], 8
jmp 0x45f018
mov dword [esp + 0x30], 7
mov dword [esp + 0x34], edi
mov edi, 1
mov eax, edi
lea ecx, [esp + 0x30]
shl eax, 4
add ecx, eax
cmp dword [esi + 0xe4], 0x21
jne 0x45f044
mov dword [ecx], 0x21
mov dword [ecx + 4], 0
jmp 0x45f051
mov dword [ecx], 1
mov dword [ecx + 4], 0x40000000
push dword [ebp + 0x18]
mov dword [esp + eax + 0x3c], 0
push dword [ebp + 0x20]
push 0
push ecx
call fcn.004719a0
add esp, 0x10
test eax, eax
je 0x45f088
push eax
push dword [esp + 0x78]
call fcn.00461160
add esp, 8
mov eax, 0xffffffe7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
inc edi
lea eax, [esp + 0x30]
add edi, edi
push eax
lea eax, [esi + 0xf0]
push eax
mov dword [esp + edi*8 + 0x38], 0xffffffff
mov dword [esp + edi*8 + 0x3c], 0xffffffff
mov dword [esp + edi*8 + 0x40], 0
call fcn.00471a20
add esp, 8
test eax, eax
jne 0x45f06e
pop edi
mov dword [esi + 0x148], 1
mov dword [esi + 0xf8], eax
mov dword [esi + 0xfc], eax
mov dword [esi + 0x108], eax
mov dword [esi + 0x10c], eax
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp dword [esi + 0x4cf0], 0
je 0x45f10d
lea eax, [esi + 0x1c0]
push 0x3ca171c
push eax
call dword [0x4d87fc]
add esp, 8
mov dword [esi + 0x4cf0], 0
cmp dword [ebp + 0x1c], 0
ja 0x45f13b
jb 0x45f11b
cmp dword [ebp + 0x18], 5
jae 0x45f13b
push str.Malformed_PPMd_parameter
push 0xffffffffffffffff
push dword [esp + 0x7c]
call fcn.00466d90
add esp, 0xc
mov eax, 0xffffffe7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov eax, dword [ebp + 0x20]
movzx ebp, byte [eax]
inc eax
push eax
call fcn.0045d1a0
lea ecx, [ebp - 2]
add esp, 4
mov ebx, eax
cmp ecx, 0x3e
ja 0x45f11b
lea ecx, [ebx - 0x800]
cmp ecx, 0xfffff7db
ja 0x45f11b
lea edi, [esi + 0x1c0]
push edi
call dword [0x4d87f4]
push 0x3ca171c
push ebx
push edi
call dword [0x4d87f8]
add esp, 0x10
test eax, eax
jne 0x45f1a4
push str.Coludnt_allocate_memory_for_PPMd
push 0xc
push dword [esp + 0x7c]
call fcn.00466d90
add esp, 0xc
mov eax, 0xffffffe2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
push ebp
push edi
call dword [0x4d8800]
lea eax, [esi + 0x4c8c]
push eax
call dword [0x4d8804]
add esp, 0xc
mov dword [esi + 0x4cf0], 1
mov dword [esi + 0x1bc], 0
xor eax, eax
mov dword [esi + 0x4ce8], 0
mov dword [esi + 0x4cc8], 0
pop edi
mov dword [esi + 0x4ccc], 0
mov dword [esi + 0x4ce0], 0
mov dword [esi + 0x4ce4], 0
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp eax, 0x40108
je 0x45f319
cmp eax, 0x40202
je 0x45f23d
cmp eax, 0x3030103
je 0x45f3c9
push eax
push str.Unknown_codec_ID:__lX
push 0xffffffffffffffff
push dword [esp + 0x80]
jmp 0x45f438
cmp dword [esi + 0x17c], 0
je 0x45f25c
lea eax, [esi + 0x14c]
push eax
call fcn.0047b1e0
mov dword [esi + 0x17c], 0
push 0
push 0
lea edi, [esi + 0x14c]
push edi
call fcn.0047b270
cmp eax, 0xfffffffd
jne 0x45f27b
push 1
push 0
push edi
call fcn.0047b270
test eax, eax
je 0x45f2dd
or ecx, 0xffffffff
cmp eax, 0xfffffff7
je 0x45f2ab
cmp eax, 0xfffffffd
je 0x45f29f
cmp eax, 0xfffffffe
jne 0x45f298
mov eax, str.invalid_setup_parameter
jmp 0x45f2b0
mov eax, 0x4d0ce8
jmp 0x45f2b0
mov ecx, 0xc
mov eax, str.out_of_memory
jmp 0x45f2b0
mov eax, str.mis_compiled_library
push eax
push str.Internal_error_initializing_decompressor:__s
push ecx
push dword [esp + 0x80]
call fcn.00466d90
add esp, 0x10
mov dword [esi + 0x17c], 0
mov eax, 0xffffffe7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
pop edi
mov dword [esi + 0x17c], 1
xor eax, eax
mov dword [esi + 0x154], 0
mov dword [esi + 0x158], 0
mov dword [esi + 0x164], 0
mov dword [esi + 0x168], 0
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp dword [esi + 0x1b8], 0
lea eax, [esi + 0x180]
je 0x45f333
push eax
call fcn.00458650
add esp, 4
jmp 0x45f345
push 0x38
push 0x4d03a0
push 0xfffffffffffffff1
push eax
call fcn.00458590
add esp, 0x10
test eax, eax
je 0x45f369
push str.Couldnt_initialize_zlib_stream.
push 0xffffffffffffffff
push dword [esp + 0x7c]
call fcn.00466d90
add esp, 0xc
mov eax, 0xffffffe7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov dword [esi + 0x1b8], 1
mov dword [esi + 0x188], 0
mov dword [esi + 0x194], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
cmp eax, 0x3030805
ja 0x45f3da
je 0x45f3c9
cmp eax, 0x3030501
ja 0x45f3c2
je 0x45f3c9
cmp eax, 0x3030205
je 0x45f3c9
cmp eax, 0x3030401
je 0x45f3c9
push eax
push str.Unknown_codec_ID:__lX
push 0xffffffffffffffff
push dword [esp + 0x80]
jmp 0x45f438
cmp eax, 0x3030701
jne 0x45f3ef
push eax
push str.Unexpected_codec_ID:__lX
push 0xffffffffffffffff
push dword [esp + 0x80]
jmp 0x45f438
cmp eax, 0x6f10101
je 0x45f400
cmp eax, 0x6f10303
je 0x45f400
cmp eax, 0x6f10701
je 0x45f400
push eax
push str.Unknown_codec_ID:__lX
push 0xffffffffffffffff
push dword [esp + 0x80]
jmp 0x45f438
mov edi, dword [esp + 0x74]
mov eax, dword [edi + 0x44]
test eax, eax
je 0x45f42a
push 1
push eax
call fcn.00462ee0
push 1
push dword [edi + 0x44]
call fcn.00462ec0
add esp, 0x10
mov dword [esi + 0x4fa4], 1
push dword [esi + 0xe4]
push str.Crypto_codec_not_supported_yet__ID:_0x_lX_
push 0xffffffffffffffff
push edi
call fcn.00466d90
add esp, 0x10
mov eax, 0xffffffe7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret