Function at 0xa660c0
Capabilities:
Allocate or change rwx memory
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov edi, dword [ebx + 8]
mov ebp, dword [ebx + 0xc]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0x84], edi
mov edi, dword [ebx + 0x3998]
mov dword [esp + 0x8c], ebp
mov ebp, dword [ebx + 0x10]
mov dword [esp + 0x74], edi
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ebp
mov ebp, dword [ebx + 0x34]
mov dword [esp + 0x58], edi
mov dword [esp + 0x4c], ebp
call fcn.00aaa7e0
mov edi, dword [ebx + 0x8ec]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x88], eax
call fcn.00aaa7e0
test al, 1
je 0xa66158
emms
mov eax, dword [0x16fe7e8]
test eax, eax
je 0xa67c7f
cmp dword [esp + 0x58], 0x22
je 0xa67726
jle 0xa661c0
cmp dword [esp + 0x58], 0x128
je 0xa676d6
jle 0xa6629d
cmp dword [esp + 0x58], 0x129
je 0xa676e8
cmp dword [esp + 0x58], 0x12a
jne 0xa661e1
cmp dword [esp + 0x4c], 0x22
mov ebp, 0x1e
mov dword [esp + 0x58], 0x1e
jne 0xa661ec
mov dword [esp + 0x4c], 0x21
jmp 0xa66220
cmp dword [esp + 0x58], 0xd
je 0xa676fa
cmp dword [esp + 0x58], 0xe
je 0xa662bd
cmp dword [esp + 0x58], 0xc
je 0xa676c7
mov ebp, dword [esp + 0x58]
cmp dword [esp + 0x4c], 0x22
je 0xa661b2
jg 0xa671b2
cmp dword [esp + 0x4c], 0xd
je 0xa6770c
cmp dword [esp + 0x4c], 0xe
je 0xa67719
cmp dword [esp + 0x4c], 0xc
mov eax, 0
cmovne eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
nop
lea esi, [esi]
mov edi, dword [esp + 0x58]
cmp dword [ebx + 0x38], edi
jne 0xa66232
mov edi, dword [esp + 0x4c]
cmp dword [ebx + 0x34], edi
je 0xa66258
mov dword [esp + 8], str.deprecated_pixel_format_used__make_sure_you_did_set_range_correctly_n
mov dword [esp + 4], 0x18
mov dword [esp], ebx
call fcn.00aa0010
mov edi, dword [esp + 0x58]
mov dword [ebx + 0x38], edi
mov edi, dword [esp + 0x4c]
mov dword [ebx + 0x34], edi
cmp ebp, 0x12a
jbe 0xa662d0
mov ebp, dword [esp + 0x58]
mov esi, 0xffffffea
mov dword [esp], ebp
call fcn.00a9fa70
mov dword [esp + 8], str._s_is_not_supported_as_input_pixel_format_n
mov dword [esp + 4], 0x10
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00aa0010
lea esi, [esi]
add esp, 0xbc
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x58], 0x127
jne 0xa661e1
mov ebp, 0x1b
mov dword [esp + 0x58], 0x1b
jmp 0xa661e5
mov ebp, 5
mov dword [esp + 0x58], 5
jmp 0xa661e5
mov edi, dword [esp + 0x58]
mov eax, dword [edi*8 + 0x1131780]
test eax, eax
je 0xa66260
cmp dword [esp + 0x4c], 0x12a
jbe 0xa66320
mov ebp, dword [esp + 0x4c]
mov esi, 0xffffffea
mov dword [esp], ebp
call fcn.00a9fa70
mov dword [esp + 8], str._s_is_not_supported_as_output_pixel_format_n
mov dword [esp + 4], 0x10
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00aa0010
jmp 0xa66290
mov edi, dword [esp + 0x4c]
mov eax, dword [edi*8 + 0x1131784]
test eax, eax
je 0xa662e9
mov eax, dword [esp + 0x5c]
and eax, 0x7ff
je 0xa67c89
lea edx, [eax - 1]
test edx, eax
jne 0xa67c89
mov edi, dword [esp + 0x8c]
test edi, edi
jle 0xa67cab
cmp dword [esp + 0x84], 3
jle 0xa67cab
mov ecx, dword [esp + 0x50]
test ecx, ecx
jle 0xa67cab
cmp dword [esp + 0x74], 7
jle 0xa67cab
mov edx, dword [esp + 0xd8]
lea eax, [esp + 0xa0]
mov edi, dword [esp + 0xd8]
test edx, edx
mov edx, dword [esp + 0x84]
cmove edi, eax
test esi, esi
cmove esi, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xd8], edi
shl edx, 0x10
sar eax, 1
add eax, edx
mov edx, eax
sar edx, 0x1f
idiv dword [esp + 0x74]
mov edx, dword [esp + 0x8c]
shl edx, 0x10
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x50]
sar eax, 1
add eax, edx
mov edx, eax
sar edx, 0x1f
idiv dword [esp + 0x50]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x4c]
shl eax, 4
add eax, 0x1133f80
mov dword [esp], eax
call fcn.00a9fb70
mov dword [ebx + 0x3c], eax
mov eax, ebp
shl eax, 4
add eax, 0x1133f80
mov dword [esp], eax
call fcn.00a9fb70
mov dword [ebx + 0x39a8], 0x40004
mov dword [ebx + 0x39ac], 0x40004
mov dword [ebx + 0x40], eax
mov eax, dword [esi + 4]
test eax, eax
je 0xa67458
cmp dword [eax + 4], 1
mov dword [esp + 0x68], 1
jle 0xa67458
mov edi, dword [esp + 0x50]
xor eax, eax
cmp dword [esp + 0x8c], edi
mov edi, dword [esp + 0x74]
sete al
xor edx, edx
cmp dword [esp + 0x84], edi
sete dl
and eax, edx
mov edx, dword [esi]
test edx, edx
je 0xa673e0
cmp dword [edx + 4], 1
mov byte [esp + 0x54], 0
mov dword [esp + 0x6c], 1
jle 0xa673e0
mov eax, dword [esp + 0x58]
shl eax, 4
movzx edi, byte [eax + 0x1133f85]
add eax, 0x1133f80
movzx eax, byte [eax + 6]
mov dword [ebx + 0x4c], edi
mov dword [ebx + 0x50], eax
mov eax, dword [esp + 0x4c]
shl eax, 4
movzx edx, byte [eax + 0x1133f85]
add eax, 0x1133f80
movzx eax, byte [eax + 6]
mov dword [ebx + 0x54], edx
mov dword [esp + 0x48], eax
mov dword [ebx + 0x58], eax
mov eax, dword [esp + 0x4c]
sub eax, 0x29
cmp eax, 1
setbe al
cmp dword [esp + 0x4c], 0x123
sete cl
or al, cl
mov byte [esp + 0x70], al
jne 0xa66600
cmp dword [esp + 0x4c], 0x124
je 0xa66600
cmp dword [esp + 0x4c], 0x1e
je 0xa66600
cmp dword [esp + 0x4c], 0x1d
je 0xa66600
cmp dword [esp + 0x4c], 2
je 0xa66600
cmp dword [esp + 0x4c], 0x2b
je 0xa66600
cmp dword [esp + 0x4c], 0x2c
je 0xa66600
cmp dword [esp + 0x4c], 0x2d
je 0xa66600
cmp dword [esp + 0x4c], 0x2e
je 0xa66600
cmp dword [esp + 0x4c], 0x3f
je 0xa66600
cmp dword [esp + 0x4c], 0x3e
je 0xa66600
cmp dword [esp + 0x4c], 0x16
je 0xa66600
cmp dword [esp + 0x4c], 0x17
je 0xa66600
cmp dword [esp + 0x4c], 0x18
je 0xa66600
cmp dword [esp + 0x4c], 0xa
je 0xa66600
cmp dword [esp + 0x4c], 9
je 0xa66600
mov eax, dword [esp + 0x4c]
sub eax, 0x43
cmp eax, 1
jbe 0xa66600
cmp dword [esp + 0x4c], 0x125
je 0xa66600
cmp dword [esp + 0x4c], 0x126
je 0xa66600
cmp dword [esp + 0x4c], 0x1c
je 0xa66600
cmp dword [esp + 0x4c], 0x1b
je 0xa66600
cmp dword [esp + 0x4c], 3
je 0xa66600
cmp dword [esp + 0x4c], 0x2f
je 0xa66600
cmp dword [esp + 0x4c], 0x30
je 0xa66600
cmp dword [esp + 0x4c], 0x31
je 0xa66600
cmp dword [esp + 0x4c], 0x32
je 0xa66600
cmp dword [esp + 0x4c], 0x41
je 0xa66600
cmp dword [esp + 0x4c], 0x40
je 0xa66600
cmp dword [esp + 0x4c], 0x13
je 0xa66600
cmp dword [esp + 0x4c], 0x14
je 0xa66600
cmp dword [esp + 0x4c], 0x15
je 0xa66600
cmp dword [esp + 0x4c], 0x52
jne 0xa66616
test dword [esp + 0x5c], 0x2000
jne 0xa66616
mov dword [ebx + 0x54], 1
mov edx, 1
mov eax, dword [esp + 0x5c]
and eax, 0x30000
sar eax, 0x10
mov dword [ebx + 0x5c], eax
add eax, dword [ebx + 0x50]
mov dword [esp + 0x44], eax
mov dword [ebx + 0x50], eax
lea eax, [ebp - 0x29]
cmp eax, 1
setbe al
cmp dword [esp + 0x58], 0x123
sete cl
or al, cl
mov byte [esp + 0x60], al
jne 0xa670d1
cmp dword [esp + 0x58], 0x124
je 0xa670d1
cmp dword [esp + 0x58], 0x1e
je 0xa670d1
cmp dword [esp + 0x58], 0x1d
je 0xa670d1
cmp dword [esp + 0x58], 2
je 0xa670d1
cmp dword [esp + 0x58], 0x2b
je 0xa670d1
cmp dword [esp + 0x58], 0x2c
je 0xa670d1
cmp dword [esp + 0x58], 0x2d
je 0xa670d1
cmp dword [esp + 0x58], 0x2e
je 0xa670d1
cmp dword [esp + 0x58], 0x3f
je 0xa670d1
cmp dword [esp + 0x58], 0x3e
je 0xa670d1
cmp dword [esp + 0x58], 0x16
je 0xa670d1
cmp dword [esp + 0x58], 0x17
je 0xa670d1
cmp dword [esp + 0x58], 0x18
je 0xa670d1
cmp dword [esp + 0x58], 0xa
je 0xa670d1
cmp dword [esp + 0x58], 9
je 0xa670d1
lea eax, [ebp - 0x43]
cmp eax, 1
jbe 0xa670d1
cmp dword [esp + 0x58], 0x125
je 0xa670d1
cmp dword [esp + 0x58], 0x126
je 0xa670d1
cmp dword [esp + 0x58], 0x1c
je 0xa670d1
cmp dword [esp + 0x58], 0x1b
je 0xa670d1
cmp dword [esp + 0x58], 3
je 0xa670d1
cmp dword [esp + 0x58], 0x2f
je 0xa670d1
cmp dword [esp + 0x58], 0x30
je 0xa670d1
cmp dword [esp + 0x58], 0x31
je 0xa670d1
cmp dword [esp + 0x58], 0x32
je 0xa670d1
cmp dword [esp + 0x58], 0x41
je 0xa670d1
cmp dword [esp + 0x58], 0x40
je 0xa670d1
cmp dword [esp + 0x58], 0x13
je 0xa670d1
cmp dword [esp + 0x58], 0x14
je 0xa670d1
cmp dword [esp + 0x58], 0x15
je 0xa670d1
cmp dword [esp + 0x58], 0x52
je 0xa670d1
nop
mov eax, dword [esp + 0x84]
mov ecx, edi
neg eax
sar eax, cl
movzx ecx, byte [esp + 0x44]
neg eax
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x8c]
neg eax
sar eax, cl
mov ecx, edx
neg eax
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x74]
neg eax
sar eax, cl
movzx ecx, byte [esp + 0x48]
neg eax
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x50]
neg eax
sar eax, cl
neg eax
cmp byte [esp + 0x54], 0
mov dword [ebx + 0x20], eax
je 0xa66990
mov eax, dword [esp + 0x68]
test eax, eax
jne 0xa66990
mov edi, dword [ebx + 0x1924]
cmp dword [ebx + 0x1920], edi
je 0xa67150
cmp byte [esp + 0x70], 0
jne 0xa67150
cmp dword [esp + 0x4c], 0x124
je 0xa67150
cmp dword [esp + 0x4c], 0x1e
je 0xa67150
cmp dword [esp + 0x4c], 0x1d
je 0xa67150
cmp dword [esp + 0x4c], 2
je 0xa67150
cmp dword [esp + 0x4c], 0x2b
je 0xa67150
cmp dword [esp + 0x4c], 0x2c
je 0xa67150
cmp dword [esp + 0x4c], 0x2d
je 0xa67150
cmp dword [esp + 0x4c], 0x2e
je 0xa67150
cmp dword [esp + 0x4c], 0x3f
je 0xa67150
cmp dword [esp + 0x4c], 0x3e
je 0xa67150
cmp dword [esp + 0x4c], 0x16
je 0xa67150
cmp dword [esp + 0x4c], 0x17
je 0xa67150
cmp dword [esp + 0x4c], 0x18
je 0xa67150
cmp dword [esp + 0x4c], 0xa
je 0xa67150
cmp dword [esp + 0x4c], 9
je 0xa67150
mov eax, dword [esp + 0x4c]
sub eax, 0x43
cmp eax, 1
jbe 0xa67150
cmp dword [esp + 0x4c], 0x125
je 0xa67150
cmp dword [esp + 0x4c], 0x126
je 0xa67150
cmp dword [esp + 0x4c], 0x1c
je 0xa67150
cmp dword [esp + 0x4c], 0x1b
je 0xa67150
cmp dword [esp + 0x4c], 3
je 0xa67150
cmp dword [esp + 0x4c], 0x2f
je 0xa67150
cmp dword [esp + 0x4c], 0x30
je 0xa67150
cmp dword [esp + 0x4c], 0x31
je 0xa67150
cmp dword [esp + 0x4c], 0x32
je 0xa67150
cmp dword [esp + 0x4c], 0x41
je 0xa67150
cmp dword [esp + 0x4c], 0x40
je 0xa67150
cmp dword [esp + 0x4c], 0x13
je 0xa67150
cmp dword [esp + 0x4c], 0x14
je 0xa67150
cmp dword [esp + 0x4c], 0x15
je 0xa67150
cmp dword [esp + 0x4c], 0x52
je 0xa67150
nop
mov eax, dword [esp + 0x58]
shl eax, 4
movzx edx, byte [eax + 0x1133f89]
mov eax, 8
shr dl, 3
and edx, 0xf
add edx, 1
cmp edx, 7
cmovg eax, edx
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x4c]
shl eax, 4
movzx eax, byte [eax + 0x1133f89]
shr al, 3
and eax, 0xf
add eax, 1
cmp eax, 7
mov dword [ebx + 0x44], eax
jg 0xa669e0
mov dword [ebx + 0x44], 8
mov eax, 8
cmp byte [esp + 0x60], 0
jne 0xa66b11
cmp dword [esp + 0x58], 0x124
je 0xa66b11
cmp dword [esp + 0x58], 0x1e
je 0xa66b11
cmp dword [esp + 0x58], 0x1d
je 0xa66b11
cmp dword [esp + 0x58], 2
je 0xa66b11
cmp dword [esp + 0x58], 0x2b
je 0xa66b11
cmp dword [esp + 0x58], 0x2c
je 0xa66b11
cmp dword [esp + 0x58], 0x2d
je 0xa66b11
cmp dword [esp + 0x58], 0x2e
je 0xa66b11
cmp dword [esp + 0x58], 0x3f
je 0xa66b11
cmp dword [esp + 0x58], 0x3e
je 0xa66b11
cmp dword [esp + 0x58], 0x16
je 0xa66b11
cmp dword [esp + 0x58], 0x17
je 0xa66b11
cmp dword [esp + 0x58], 0x18
je 0xa66b11
cmp dword [esp + 0x58], 0xa
je 0xa66b11
cmp dword [esp + 0x58], 9
je 0xa66b11
sub ebp, 0x43
cmp ebp, 1
jbe 0xa66b11
cmp dword [esp + 0x58], 0x125
je 0xa66b11
cmp dword [esp + 0x58], 0x126
je 0xa66b11
cmp dword [esp + 0x58], 0x1c
je 0xa66b11
cmp dword [esp + 0x58], 0x1b
je 0xa66b11
cmp dword [esp + 0x58], 3
je 0xa66b11
cmp dword [esp + 0x58], 0x2f
je 0xa66b11
cmp dword [esp + 0x58], 0x30
je 0xa66b11
cmp dword [esp + 0x58], 0x31
je 0xa66b11
cmp dword [esp + 0x58], 0x32
je 0xa66b11
cmp dword [esp + 0x58], 0x41
je 0xa66b11
cmp dword [esp + 0x58], 0x40
je 0xa66b11
cmp dword [esp + 0x58], 0x13
je 0xa66b11
cmp dword [esp + 0x58], 0x14
je 0xa66b11
cmp dword [esp + 0x58], 0x15
je 0xa66b11
cmp dword [esp + 0x58], 0x52
je 0xa66b11
cmp dword [esp + 0x58], 0xb
jne 0xa66b18
mov dword [ebx + 0x48], 0x10
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x84]
lea edi, [edi + edi + 0x51]
and edi, 0xfffffff0
mov edx, edi
add edx, edx
cmp eax, 0x10
cmovne edx, edi
lea edi, [ebp + ebp + 0x5d]
and edi, 0xfffffff0
lea eax, [edi + edi]
mov dword [esp + 0x80], edx
mov dword [esp], eax
call fcn.00aa00b0
test eax, eax
mov dword [ebx + 0x8a0], eax
je 0xa67738
mov eax, dword [esp + 0x88]
and eax, 2
mov dword [esp + 0x98], eax
je 0xa66b78
cmp dword [ebx + 0x48], 8
je 0xa67a44
mov dword [ebx + 0x8e4], 0
mov dword [esp + 0x48], 0
mov edi, dword [ebx + 0x14]
mov ebp, dword [ebx + 0x20]
mov dword [esp + 0x44], edi
mov edi, dword [ebx + 0x1c]
mov edx, dword [esp + 0x44]
mov eax, edi
shl edx, 0x10
sar eax, 1
add eax, edx
mov edx, eax
sar edx, 0x1f
idiv edi
mov edx, ebp
sar edx, 1
mov ecx, eax
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 0x18]
shl eax, 0x10
add eax, edx
mov edx, eax
sar edx, 0x1f
idiv ebp
mov ebp, dword [esp + 0x5c]
and ebp, 1
mov dword [esp + 0x9c], ebp
mov dword [ebx + 0x30], eax
jne 0xa671e1
mov edi, dword [esp + 0x88]
mov eax, dword [esp + 0x48]
mov ecx, dword [ebx + 0x24]
and edi, 1
test eax, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x94], edi
jne 0xa66c0b
mov eax, dword [esp + 0x88]
and eax, 1
mov dword [esp + 0x94], eax
mov edi, dword [esp + 0x94]
mov dword [esp + 0x48], 1
test edi, edi
je 0xa66c26
mov dword [esp + 0x48], 4
mov ebp, dword [esp + 0xd8]
lea edi, [ebx + 0x68]
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x5c]
lea ecx, [ebx + 0x8c4]
mov eax, dword [esi]
lea edx, [ebx + 0x8b4]
mov ebp, dword [ebp]
or edi, 4
mov dword [esp + 0x1c], eax
lea eax, [ebx + 0x8a4]
mov dword [esp + 0x10], 0x4000
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x5c]
and ebp, 0x40
mov dword [esp + 0x90], ebp
mov ebp, dword [esp + 0x44]
cmove edi, dword [esp + 0x5c]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x88]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp], ebp
call fcn.00a63860
test eax, eax
js 0xa67d91
mov edi, dword [esp + 0xd8]
lea edx, [ebx + 0x8b8]
mov ebp, dword [esi + 8]
lea eax, [ebx + 0x8a8]
mov ecx, dword [esp + 0x90]
mov edi, dword [edi + 8]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x10], 0x4000
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x38]
or edi, 2
test ecx, ecx
cmove edi, dword [esp + 0x5c]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x88]
lea ecx, [ebx + 0x8c8]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], edi
mov edi, dword [ebx + 0x1c]
mov dword [esp + 8], edi
mov edi, dword [ebx + 0x14]
mov dword [esp + 4], edi
mov edi, dword [ebx + 0x28]
mov dword [esp], edi
call fcn.00a63860
test eax, eax
js 0xa67d91
mov eax, dword [esi + 4]
lea ecx, [ebx + 0x8cc]
mov ebp, dword [esp + 0xd8]
cmp dword [esp + 0x94], 1
mov edx, dword [esp + 0x90]
mov ebp, dword [ebp + 4]
sbb edi, edi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x5c]
add edi, 2
mov dword [esp + 0x10], 0x1000
mov dword [esp + 0xc], edi
mov dword [esp + 0x48], ebp
lea ebp, [ebx + 0x8ac]
or eax, 4
test edx, edx
cmove eax, dword [esp + 0x5c]
lea edx, [ebx + 0x8bc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
mov eax, ebp
call fcn.00a63860
test eax, eax
js 0xa67d91
mov ebp, dword [esp + 0xd8]
lea ecx, [ebx + 0x8d0]
mov esi, dword [esi + 0xc]
lea edx, [ebx + 0x8c0]
mov eax, dword [esp + 0x90]
mov ebp, dword [ebp + 0xc]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], 0x1000
mov dword [esp + 0xc], edi
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x44]
or esi, 2
test eax, eax
cmove esi, dword [esp + 0x5c]
lea eax, [ebx + 0x8b0]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x18], ebp
mov esi, dword [ebx + 0x20]
mov dword [esp + 8], esi
mov esi, dword [ebx + 0x18]
mov dword [esp + 4], esi
mov esi, dword [ebx + 0x30]
mov dword [esp], esi
call fcn.00a63860
test eax, eax
js 0xa67d91
mov esi, dword [ebx + 0x8cc]
mov edi, dword [ebx + 0x8d0]
mov eax, dword [esp + 0x50]
mov ecx, dword [ebx + 0x50]
mov dword [esp + 0x54], esi
mov dword [esp + 0x68], edi
mov dword [ebx + 0x888], esi
mov esi, dword [ebx + 0x8c0]
mov edx, eax
mov dword [ebx + 0x88c], edi
mov edi, dword [ebx + 0x8bc]
sar edx, 0x1f
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x54]
mov ebp, eax
sar ebp, 0x1f
mov dword [esp + 0x7c], ebp
xor ebp, ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], ebx
jmp 0xa66f01
mov edi, dword [esp + 0x30]
mov edi, dword [edi + 0x888]
mov dword [esp + 0x48], edi
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x34], ecx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x3c]
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00de3110
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x34]
movsx ebx, word [edi + eax*2]
mov edi, dword [esp + 0x70]
movsx esi, word [edi + ebp*2]
mov edi, dword [esp + 0x68]
lea eax, [edi + ebx - 1]
mov edi, dword [esp + 0x54]
shl eax, cl
lea edx, [edi + esi - 1]
cmp eax, edx
cmovl eax, edx
mov edx, dword [esp + 0x48]
sar eax, cl
shl eax, cl
add edx, esi
cmp eax, edx
jle 0xa66f70
mov edx, eax
sub edx, esi
mov esi, dword [esp + 0x30]
mov dword [esi + 0x888], edx
mov edx, dword [esp + 0x44]
sar eax, cl
add edx, ebx
cmp edx, eax
jge 0xa66f8c
mov edi, dword [esp + 0x30]
sub eax, ebx
mov dword [esp + 0x44], eax
mov dword [edi + 0x88c], eax
mov esi, dword [esp + 0x78]
add ebp, 1
mov edi, dword [esp + 0x7c]
add dword [esp + 0x38], esi
adc dword [esp + 0x3c], edi
cmp dword [esp + 0x50], ebp
jg 0xa66ef3
mov ebx, dword [esp + 0x30]
mov eax, dword [ebx + 0x888]
shl eax, 3
mov dword [esp], eax
call fcn.00aa00b0
test eax, eax
mov dword [ebx + 0x878], eax
je 0xa67584
mov eax, dword [ebx + 0x88c]
shl eax, 3
mov dword [esp], eax
call fcn.00aa00b0
test eax, eax
mov dword [ebx + 0x87c], eax
mov eax, dword [ebx + 0x88c]
je 0xa675a0
shl eax, 3
mov dword [esp], eax
call fcn.00aa00b0
test eax, eax
mov dword [ebx + 0x880], eax
je 0xa67c07
mov eax, dword [ebx + 0x38]
shl eax, 4
movzx eax, byte [eax + 0x1133f84]
cmp al, 4
je 0xa6701f
cmp al, 2
jne 0xa6703c
mov eax, dword [ebx + 0x34]
shl eax, 4
movzx eax, byte [eax + 0x1133f84]
cmp al, 4
je 0xa67c20
cmp al, 2
je 0xa67c20
mov ebp, dword [ebx + 0x888]
mov esi, dword [esp + 0x80]
add esi, 0x10
test ebp, ebp
jle 0xa674c0
cmp dword [esp + 0x80], 0xfffffff0
setne byte [esp + 0x38]
xor edi, edi
jmp 0xa67073
mov dword [eax + edi*4], edx
add edi, 1
cmp ebp, edi
jle 0xa674c0
mov eax, dword [ebx + 0x878]
add ebp, edi
mov dword [esp], esi
lea ebp, [eax + ebp*4]
call fcn.00aa0290
mov dword [ebp], eax
mov ebp, dword [ebx + 0x888]
mov eax, dword [ebx + 0x878]
lea edx, [ebp + edi]
mov edx, dword [eax + edx*4]
test edx, edx
jne 0xa67065
cmp byte [esp + 0x38], 0
je 0xa67065
mov dword [esp], ebx
mov esi, 0xffffffff
mov dword [esp + 8], str.Cannot_allocate_memory._n
mov dword [esp + 4], 0x10
call fcn.00aa0010
add esp, 0xbc
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
test dword [esp + 0x5c], 0x4000
jne 0xa667b0
cmp dword [esp + 0x58], 0x16
je 0xa667b0
cmp dword [esp + 0x58], 0x13
je 0xa667b0
cmp dword [esp + 0x58], 0x17
je 0xa667b0
cmp dword [esp + 0x58], 0x14
je 0xa667b0
cmp dword [esp + 0x58], 0x18
je 0xa667b0
cmp dword [esp + 0x58], 0x15
je 0xa667b0
mov eax, dword [esp + 0x74]
mov ecx, edx
sar eax, cl
mov ecx, dword [esp + 0x84]
sar ecx, 1
cmp eax, ecx
jg 0xa67d0a
mov dword [ebx + 0x4c], 1
mov edi, 1
jmp 0xa667b0
mov dword [esp], ebx
call fcn.00a6c550
mov eax, dword [ebx + 4]
test eax, eax
je 0xa66990
xor esi, esi
test dword [esp + 0x5c], 0x1000
je 0xa66290
mov ebp, dword [esp + 0x4c]
mov dword [esp], ebp
call fcn.00a9fa70
mov ebp, dword [esp + 0x58]
mov dword [esp], ebp
mov edi, eax
call fcn.00a9fa70
mov dword [esp + 0x10], edi
mov dword [esp + 8], str.using_unscaled__s_____s_special_converter_n
mov dword [esp + 4], 0x20
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00aa0010
jmp 0xa66290
cmp dword [esp + 0x4c], 0x128
je 0xa676ad
jg 0xa67688
cmp dword [esp + 0x4c], 0x127
mov eax, 0x1b
cmovne eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
jmp 0xa66220
mov eax, dword [esp + 0x48]
test eax, eax
je 0xa675b5
mov edx, dword [ebx + 0x24]
add ecx, 0x14
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x28], ecx
xor ecx, ecx
add edx, 0x14
mov dword [ebx + 0x24], edx
mov dword [esp + 8], 8
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00a634a0
mov edx, dword [ebx + 0x28]
xor ecx, ecx
mov dword [ebx + 0x8d4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 8], 4
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00a634a0
mov dword [ebx + 0x8d8], eax
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x1000
mov eax, dword [ebx + 0x8d4]
mov dword [esp], 0
mov dword [esp + 4], eax
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
mov dword [ebx + 0x8dc], eax
mov dword [esp + 0xc], 0x40
mov dword [esp + 8], 0x1000
mov eax, dword [ebx + 0x8d8]
mov dword [esp], 0
mov dword [esp + 4], eax
call sub.KERNEL32.dll_VirtualAlloc
mov ebp, dword [ebx + 0x8dc]
sub esp, 0x10
test ebp, ebp
mov dword [ebx + 0x8e0], eax
je 0xa67ed4
test eax, eax
je 0xa67ed4
mov eax, dword [esp + 0x74]
sar eax, 3
lea eax, [eax + eax + 0x10]
mov dword [esp], eax
call fcn.00aa0290
test eax, eax
mov dword [ebx + 0x8a4], eax
je 0xa670a7
mov eax, dword [ebx + 0x1c]
test eax, eax
lea edx, [eax + 3]
cmovs eax, edx
sar eax, 2
lea eax, [eax + eax + 0x10]
mov dword [esp], eax
call fcn.00aa0290
test eax, eax
mov dword [ebx + 0x8a8], eax
je 0xa67d9b
mov eax, dword [esp + 0x74]
sar eax, 4
lea eax, [eax*4 + 0x20]
mov dword [esp], eax
call fcn.00aa0290
test eax, eax
mov dword [ebx + 0x8b4], eax
je 0xa670a7
mov eax, dword [ebx + 0x1c]
test eax, eax
lea edx, [eax + 7]
cmovs eax, edx
sar eax, 3
lea eax, [eax*4 + 0x20]
mov dword [esp], eax
call fcn.00aa0290
test eax, eax
mov dword [ebx + 0x8b8], eax
je 0xa67dc0
mov ecx, dword [ebx + 0x8dc]
lea ebp, [ebx + 0x68]
mov edx, dword [ebx + 0x24]
mov dword [esp + 8], 8
mov eax, dword [ebx + 0x8b4]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x8a4]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
call fcn.00a634a0
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x8e0]
mov eax, dword [ebx + 0x1c]
mov dword [esp + 8], 4
mov edi, dword [ebx + 0x8b8]
mov dword [esp + 4], edi
mov edi, dword [ebx + 0x8a8]
mov dword [esp], edi
call fcn.00a634a0
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x44], ebp
and edx, 1
and edi, 0x40
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], edi
jmp 0xa66d4f
mov edx, dword [esi + 8]
test edx, edx
je 0xa673fe
cmp dword [edx + 4], 1
mov byte [esp + 0x54], 0
mov dword [esp + 0x6c], 1
jg 0xa6647f
mov edi, dword [esp + 0xd8]
mov edx, dword [edi]
test edx, edx
je 0xa67422
cmp dword [edx + 4], 1
mov byte [esp + 0x54], 0
mov dword [esp + 0x6c], 1
jg 0xa6647f
mov edi, dword [esp + 0xd8]
mov edx, dword [edi + 8]
test edx, edx
je 0xa67447
cmp dword [edx + 4], 1
mov byte [esp + 0x54], 0
mov dword [esp + 0x6c], 1
jg 0xa6647f
mov byte [esp + 0x54], al
mov dword [esp + 0x6c], 0
jmp 0xa6647f
mov eax, dword [esi + 0xc]
test eax, eax
je 0xa67471
cmp dword [eax + 4], 1
mov dword [esp + 0x68], 1
jg 0xa6643c
mov edi, dword [esp + 0xd8]
mov eax, dword [edi + 4]
test eax, eax
je 0xa67491
cmp dword [eax + 4], 1
mov dword [esp + 0x68], 1
jg 0xa6643c
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x68], 0
mov eax, dword [edi + 0xc]
test eax, eax
je 0xa6643c
cmp dword [eax + 4], 1
setg al
movzx eax, al
mov dword [esp + 0x68], eax
jmp 0xa6643c
mov ecx, dword [ebx + 0x44]
mov eax, 0x40
mov edx, eax
mov edi, dword [esp + 0x80]
sar edx, 0x1f
mov dword [ebx + 0x49d0], esi
and ecx, 0xfffffff8
idiv ecx
sar edi, 1
add eax, edi
mov dword [ebx + 0x49c8], eax
mov eax, dword [ebx + 0x88c]
test eax, eax
jle 0xa67615
cmp dword [esp + 0x80], 0xfffffff0
lea edi, [edi + edi + 0x10]
lea edx, [esi + esi]
setne byte [esp + 0x44]
mov dword [esp + 0x38], edi
xor edi, edi
mov dword [esp + 0x48], esi
mov esi, edx
jmp 0xa67548
mov dword [ecx + edi*4], ebp
mov ebp, dword [ebx + 0x87c]
mov ecx, dword [ebx + 0x880]
mov ebp, dword [ebp + edi*4]
add ebp, dword [esp + 0x38]
mov dword [ecx + edx*4], ebp
mov dword [ecx + edi*4], ebp
add edi, 1
cmp eax, edi
jle 0xa67611
add eax, edi
lea ebp, [eax*4]
add ebp, dword [ebx + 0x87c]
mov dword [esp], esi
call fcn.00aa00b0
mov dword [ebp], eax
mov eax, dword [ebx + 0x88c]
mov ecx, dword [ebx + 0x87c]
lea edx, [eax + edi]
mov ebp, dword [ecx + edx*4]
test ebp, ebp
jne 0xa67520
cmp byte [esp + 0x44], 0
je 0xa67520
jmp 0xa670a7
mov eax, dword [ebx + 0x888]
shl eax, 3
test eax, eax
je 0xa66fcc
jmp 0xa670a7
lea edx, [eax*8]
test edx, edx
je 0xa66ff1
nop
jmp 0xa670a7
test byte [esp + 0x88], 1
je 0xa67c60
cmp dword [ebx + 0x44], 0xa
jg 0xa67cf3
mov eax, dword [esp + 0x84]
sub edi, 2
mov ecx, dword [esp + 0x74]
sub eax, 2
shl eax, 0x10
sub ecx, 2
mov edx, eax
sar edx, 0x1f
idiv ecx
sub eax, 0x14
mov dword [esp + 0x68], eax
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x44]
sub eax, 2
shl eax, 0x10
mov edx, eax
sar edx, 0x1f
idiv edi
sub eax, 0x14
mov dword [ebx + 0x28], eax
jmp 0xa66bfa
mov esi, dword [esp + 0x48]
mov ecx, dword [ebx + 0x884]
test ecx, ecx
je 0xa6774b
mov edx, dword [ebx + 0x888]
test edx, edx
jle 0xa6774b
cmp dword [esp + 0x80], 0xfffffff0
setne byte [esp + 0x38]
xor edi, edi
jmp 0xa67656
mov dword [eax + edi*4], ecx
add edi, 1
cmp edx, edi
jle 0xa67745
mov ecx, dword [ebx + 0x884]
add edx, edi
lea ebp, [ecx + edx*4]
mov dword [esp], esi
call fcn.00aa0290
mov edx, dword [ebx + 0x888]
lea ecx, [edx + edi]
mov dword [ebp], eax
mov eax, dword [ebx + 0x884]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
jne 0xa67642
cmp byte [esp + 0x38], 0
je 0xa67642
jmp 0xa670a7
cmp dword [esp + 0x4c], 0x129
je 0xa676ba
cmp dword [esp + 0x4c], 0x12a
mov eax, 0x1e
cmovne eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], eax
jmp 0xa66220
mov dword [esp + 0x4c], 0x1c
jmp 0xa66220
mov dword [esp + 0x4c], 0x1d
jmp 0xa66220
xor ebp, ebp
mov dword [esp + 0x58], 0
jmp 0xa661e5
mov ebp, 0x1c
mov dword [esp + 0x58], 0x1c
jmp 0xa661e5
mov ebp, 0x1d
mov dword [esp + 0x58], 0x1d
jmp 0xa661e5
mov ebp, 4
mov dword [esp + 0x58], 4
jmp 0xa661e5
mov dword [esp + 0x4c], 4
jmp 0xa66220
mov dword [esp + 0x4c], 5
jmp 0xa66220
mov ebp, 0x21
mov dword [esp + 0x58], 0x21
jmp 0xa661e5
test edi, edi
je 0xa66b5b
jmp 0xa670a7
mov eax, dword [ebx + 0x88c]
test eax, eax
jle 0xa677b7
mov edx, dword [ebx + 0x34]
xor esi, esi
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
shl edx, 4
movzx ebp, byte [edx + 0x1133f89]
shr edi, 0x1f
add edi, dword [esp + 0x80]
mov edx, ebp
shr dl, 3
mov ebp, edx
and ebp, 0xf
mov edx, ebp
sar edi, 1
mov byte [esp + 0x38], dl
cmp byte [esp + 0x38], 0xf
je 0xa67a00
test ecx, ecx
js 0xa677b0
mov edx, dword [ebx + 0x87c]
mov ebp, dword [edx + esi*4]
xor edx, edx
mov word [ebp + edx*2], 0x4000
add edx, 1
cmp ecx, edx
jge 0xa677a2
add esi, 1
cmp esi, eax
jl 0xa67788
test dword [esp + 0x5c], 0x1000
je 0xa679e7
mov ebp, dword [esp + 0x9c]
test ebp, ebp
jne 0xa67d1a
test byte [esp + 0x5c], 2
jne 0xa67e43
test byte [esp + 0x5c], 4
jne 0xa67e60
test byte [esp + 0x5c], 8
jne 0xa67e7d
test byte [esp + 0x5c], 0x10
jne 0xa67e9a
test byte [esp + 0x5c], 0x20
jne 0xa67eb7
mov edi, dword [esp + 0x90]
test edi, edi
jne 0xa67f18
test byte [esp + 0x5c], 0x80
jne 0xa67efb
test dword [esp + 0x5c], 0x100
jne 0xa67ede
test dword [esp + 0x5c], 0x200
jne 0xa67f8b
test dword [esp + 0x5c], 0x400
je 0xa67f6e
mov dword [esp + 8], str.Bicubic_spline_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
mov esi, dword [esp + 0x4c]
mov dword [esp], esi
call fcn.00a9fa70
cmp esi, 0x30
mov edi, eax
je 0xa67de2
cmp esi, 0x32
je 0xa67de2
cmp dword [esp + 0x4c], 0x3f
mov esi, str.dithered
je 0xa678ae
cmp dword [esp + 0x4c], 0x3e
je 0xa678ae
cmp dword [esp + 0x4c], 0x41
je 0xa678ae
cmp dword [esp + 0x4c], 0x40
mov eax, 0x1131409
cmovne esi, eax
mov ebp, dword [esp + 0x58]
mov dword [esp], ebp
call fcn.00a9fa70
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 8], str.from__s_to__s_s
mov dword [esp + 4], 0x20
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00aa0010
mov esi, dword [esp + 0x98]
test esi, esi
jne 0xa67dec
test byte [esp + 0x88], 4
jne 0xa67e26
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0xa67e09
mov dword [esp + 8], str.using_MMX_n
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 8], str._dx_d_____dx_d_n
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x84]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], 0x28
mov dword [esp + 0xc], esi
mov dword [esp], ebx
call fcn.00aa0010
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x3998]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 8]
mov dword [esp + 8], str.lum_srcW_d_srcH_d_dstW_d_dstH_d_xInc_d_yInc_d_n
mov dword [esp + 4], 0x30
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00aa0010
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 8], str.chr_srcW_d_srcH_d_dstW_d_dstH_d_xInc_d_yInc_d_n
mov dword [esp + 4], 0x30
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00aa0010
mov dword [esp], ebx
xor esi, esi
call fcn.00a84f30
mov dword [ebx + 4], eax
jmp 0xa66290
cmp dword [ebx + 0x44], 0xa
jle 0xa67f35
test edi, edi
js 0xa677b0
mov eax, dword [ebx + 0x87c]
mov edx, dword [eax + esi*4]
xor eax, eax
lea esi, [esi]
mov dword [edx + eax*4], 0x40000
add eax, 1
cmp eax, edi
jle 0xa67a20
mov eax, dword [ebx + 0x88c]
add esi, 1
cmp esi, eax
jl 0xa67788
jmp 0xa677b7
cmp dword [ebx + 0x44], 0xa
jg 0xa66b78
mov edi, dword [esp + 0x74]
cmp dword [esp + 0x84], edi
jg 0xa67d37
and edi, 0x1f
jne 0xa67d37
test byte [esp + 0x84], 0xf
jne 0xa67d37
mov dword [ebx + 0x8e4], 1
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0xa66b78
mov edx, dword [ebx + 0x38]
mov eax, edx
shl eax, 4
movzx eax, byte [eax + 0x1133f89]
shr al, 3
and eax, 0xf
lea ecx, [eax + 8]
and ecx, 0xf
cmp cl, 1
jbe 0xa66b78
cmp al, 0xf
je 0xa66b78
lea eax, [edx - 0x29]
cmp eax, 1
jbe 0xa66b78
cmp edx, 0x123
je 0xa66b78
cmp edx, 0x124
je 0xa66b78
cmp edx, 0x1e
je 0xa66b78
cmp edx, 0x1d
je 0xa66b78
cmp edx, 2
je 0xa66b78
cmp edx, 0x2b
je 0xa66b78
cmp edx, 0x2c
je 0xa66b78
cmp edx, 0x2d
je 0xa66b78
cmp edx, 0x2e
je 0xa66b78
cmp edx, 0x3f
nop
je 0xa66b78
cmp edx, 0x3e
je 0xa66b78
cmp edx, 0x16
je 0xa66b78
cmp edx, 0x17
je 0xa66b78
cmp edx, 0x18
je 0xa66b78
cmp edx, 0xa
je 0xa66b78
cmp edx, 9
je 0xa66b78
lea eax, [edx - 0x43]
cmp eax, 1
jbe 0xa66b78
cmp edx, 0x125
je 0xa66b78
cmp edx, 0x126
je 0xa66b78
cmp edx, 0x1c
je 0xa66b78
cmp edx, 0x1b
je 0xa66b78
cmp edx, 3
je 0xa66b78
cmp edx, 0x2f
nop
je 0xa66b78
cmp edx, 0x30
je 0xa66b78
cmp edx, 0x31
je 0xa66b78
cmp edx, 0x32
je 0xa66b78
cmp edx, 0x41
je 0xa66b78
cmp edx, 0x40
je 0xa66b78
cmp edx, 0x13
je 0xa66b78
cmp edx, 0x14
nop
je 0xa66b78
cmp edx, 0x15
je 0xa66b78
cmp edx, 0x52
je 0xa66b78
mov ecx, dword [ebx + 0x8e4]
mov dword [esp + 0x48], ecx
jmp 0xa66b8a
mov eax, dword [ebx + 0x88c]
shl eax, 3
test eax, eax
je 0xa6700a
jmp 0xa670a7
mov eax, dword [ebx + 0x888]
shl eax, 3
mov dword [esp], eax
call fcn.00aa0290
mov ebp, dword [ebx + 0x888]
test eax, eax
mov dword [ebx + 0x884], eax
jne 0xa67042
lea eax, [ebp*8]
test eax, eax
je 0xa67042
jmp 0xa670a7
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x94], 0
mov dword [esp + 0x48], 1
mov dword [esp + 0x68], ecx
jmp 0xa66c26
call fcn.00a73960
jmp 0xa66165
mov dword [esp + 8], str.Exactly_one_scaler_algorithm_must_be_chosen_n
mov esi, 0xffffffea
mov dword [esp + 4], 0x10
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa66290
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x74]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 8], str._dx_d_____dx_d_is_invalid_scaling_dimension_n
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x84]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], 0x10
mov dword [esp + 0xc], esi
mov esi, 0xffffffea
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa66290
mov ebp, dword [ebx + 0x24]
mov dword [esp + 0x94], 1
mov dword [esp + 0x68], ebp
jmp 0xa66c1e
test byte [esp + 0x5c], 1
je 0xa667b0
jmp 0xa6713a
mov dword [esp + 8], str.FAST_BILINEAR_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov ebp, dword [esp + 0x74]
cmp dword [esp + 0x84], ebp
mov dword [ebx + 0x8e4], 0
jg 0xa67a80
test byte [esp + 0x84], 0xf
jne 0xa67a80
mov eax, dword [esp + 0x5c]
and eax, 0x1001
cmp eax, 0x1001
jne 0xa67a80
mov dword [esp + 8], str.output_width_is_not_a_multiple_of_32____no_MMX2_scaler_n
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67a80
mov esi, 0xffffffff
jmp 0xa66290
mov eax, dword [ebx + 0x1c]
test eax, eax
lea edx, [eax + 3]
cmovs eax, edx
sar eax, 2
lea eax, [eax + eax + 0x10]
test eax, eax
je 0xa6730b
jmp 0xa670a7
mov eax, dword [ebx + 0x1c]
test eax, eax
lea edx, [eax + 7]
cmovs eax, edx
sar eax, 3
lea eax, [eax*4 + 0x20]
test eax, eax
je 0xa6735a
jmp 0xa670a7
mov esi, str.dithered
jmp 0xa678ae
mov dword [esp + 8], str.using_MMX2_n
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67922
mov dword [esp + 8], str.using_C_n
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67922
mov dword [esp + 8], str.using_3DNOW_n
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67922
mov dword [esp + 8], str.BILINEAR_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov dword [esp + 8], str.BICUBIC_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov dword [esp + 8], str.Experimental_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov dword [esp + 8], str.Nearest_Neighbor___POINT_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov dword [esp + 8], str.Area_Averaging_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov esi, 0xfffffff4
jmp 0xa66290
mov dword [esp + 8], str.Sinc_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov dword [esp + 8], str.Gaussian_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov dword [esp + 8], str.luma_BICUBIC___chroma_BILINEAR_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov dword [esp + 0x14], 0x42d
mov dword [esp + 0x10], str.libswscale_utils.c
mov dword [esp + 0xc], str.c__dstBpc___10
mov dword [esp + 8], 0x1131592
mov dword [esp + 4], 8
mov dword [esp], 0
call fcn.00aa0010
call sub.msvcrt.dll_abort
mov dword [esp + 8], str.ehh_flags_invalid__
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867
mov dword [esp + 8], str.Lanczos_scaler_
mov dword [esp + 4], 0x20
mov dword [esp], ebx
call fcn.00aa0010
jmp 0xa67867