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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x74], 1
mov edx, dword [ebx + 0x34]
lea ecx, [edx - 0x1d]
cmp ecx, 1
jbe 0x10cd4ea
cmp edx, 3
je 0x10cd4ea
cmp edx, 0x2b
je 0x10cd4ea
cmp edx, 0x2c
je 0x10cd4ea
cmp edx, 0x2d
je 0x10cd4ea
cmp edx, 0x2e
je 0x10cd4ea
cmp edx, 0x3f
je 0x10cd4ea
cmp edx, 0x3e
je 0x10cd4ea
cmp edx, 0x16
je 0x10cd4ea
cmp edx, 0x17
je 0x10cd4ea
cmp edx, 0x18
je 0x10cd4ea
xor ecx, ecx
cmp edx, 0xa
sete cl
mov dword [esp + 0x74], ecx
cmp edx, 0x2d
mov dword [esp + 0x78], 1
je 0x10cd517
cmp edx, 0x2b
je 0x10cd517
cmp edx, 0x3f
je 0x10cd517
cmp edx, 0x2f
je 0x10cd517
cmp edx, 0x31
je 0x10cd517
xor ebx, ebx
cmp edx, 0x41
sete bl
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
cmp dword [esp + 0xa8], 1
mov eax, dword [eax]
mov ebx, dword [ebx + 0x3c]
mov ecx, eax
mov esi, eax
mov dword [esp + 0x70], ebx
sbb ebx, ebx
sar ecx, 0x1f
and ebx, 0xffffffc6
mov edi, ecx
mov ecx, dword [esp + 0xa4]
add ebx, 0x180
mov dword [esp + 0x20], eax
mov dword [esp + 0x4c], ebx
mov ecx, dword [ecx + 4]
mov eax, ecx
cdq
mov ebx, edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x40], ecx
mov ebp, dword [edx + 8]
mov edx, dword [edx + 0xc]
neg ebp
mov eax, ebp
neg edx
sar eax, 0x1f
mov dword [esp + 0x34], eax
mov eax, edx
mov dword [esp + 0x28], edx
cdq
cmp dword [esp + 0xa8], 0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
je 0x10cd674
mov eax, 0xe0
imul dword [esp + 0x20]
mov dword [esp + 8], 0xff
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.01087f40
mov dword [esp + 8], 0xff
mov dword [esp + 0xc], 0
mov esi, eax
mov edi, edx
mov eax, 0xe0
imul dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.01087f40
mov dword [esp + 8], 0xff
mov dword [esp + 0xc], 0
mov ecx, eax
mov eax, 0xe0
mov ebx, edx
imul ebp
mov dword [esp + 0x1c], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.01087f40
mov dword [esp + 8], 0xff
mov dword [esp + 0xc], 0
mov dword [esp + 0x30], eax
mov eax, 0xe0
mov dword [esp + 0x34], edx
imul dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.01087f40
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x28], 0x10000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
jmp 0x10cd694
mov dword [esp + 0x40], 0x100000
mov dword [esp + 0x44], 0
mov dword [esp + 0x28], 0x12a15
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0xb0]
cdq
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
imul edx, dword [esp + 0x28]
imul eax, dword [esp + 0xb0]
lea ebp, [edx + eax]
mov eax, dword [esp + 0xb0]
mul dword [esp + 0x28]
add edx, ebp
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
shrd eax, edx, 0x10
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xb4]
sar edx, 0x10
mov dword [esp + 0x2c], edx
cdq
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xb0]
imul edx, esi
imul eax, edi
lea ebp, [edx + eax]
mov eax, dword [esp + 0xb0]
mul esi
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x54]
add edi, ebp
imul eax, edi
imul edx, esi
lea edi, [eax + edx]
mov eax, dword [esp + 0xb4]
mul esi
add edx, edi
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov eax, edx
sar edx, 0x1f
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x3c]
imul eax, ebx
imul edx, ecx
lea esi, [edx + eax]
mov eax, dword [esp + 0xb0]
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x54]
add ebx, esi
imul eax, ebx
imul edx, ecx
lea ebx, [eax + edx]
mov eax, dword [esp + 0xb4]
mul ecx
add edx, ebx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x24]
imul edx, dword [esp + 0x30]
imul eax, dword [esp + 0xb0]
mov ecx, ebx
mov dword [esp + 0x68], ecx
sar ebx, 0x1f
lea ecx, [edx + eax]
mov eax, dword [esp + 0xb0]
mul dword [esp + 0x30]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xb4]
add edx, ecx
mov dword [esp + 0x34], edx
imul eax, edx
mov edx, dword [esp + 0x54]
imul edx, dword [esp + 0x30]
lea ecx, [eax + edx]
mov eax, dword [esp + 0x30]
mul dword [esp + 0xb4]
mov eax, dword [esp + 0x5c]
mov edi, edx
mov edx, dword [esp + 0x3c]
add edi, ecx
mov ecx, dword [esp + 0xb4]
imul edx, dword [esp + 0x58]
mov esi, edi
imul eax, dword [esp + 0xb0]
sar edi, 0x1f
lea ebx, [edx + eax]
mov eax, dword [esp + 0xb0]
mul dword [esp + 0x58]
mov dword [esp + 0x20], eax
add edx, ebx
mov eax, dword [esp + 0x54]
imul eax, dword [esp + 0x20]
imul ecx, edx
add ecx, eax
mov eax, dword [esp + 0xb4]
mul dword [esp + 0x20]
add edx, ecx
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov ecx, ebx
sar ebx, 0x1f
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
shl eax, 8
cdq
sub ecx, eax
mov eax, dword [esp + 0x28]
sbb ebx, edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x40], ecx
shld edx, eax, 0xd
shl eax, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
mov dword [ebx + 0x2988], 0x4000400
mov dword [ebx + 0x298c], 0x4000400
mov dword [ebx + 0x2990], 0x4000400
mov dword [ebx + 0x2994], 0x4000400
jl 0x10cd8ef
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
movzx eax, ax
mov edx, 0x10001
mov ebx, dword [esp + 0xa0]
imul ecx, eax, 0x10001
mul edx
add edx, ecx
mov dword [ebx + 0x2958], eax
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x295c], edx
mov edx, dword [esp + 0x64]
shld edx, eax, 0xd
shl eax, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cd94c
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
movzx eax, ax
mov edx, 0x10001
mov ebx, dword [esp + 0xa0]
imul ecx, eax, 0x10001
mul edx
add edx, ecx
mov dword [ebx + 0x2960], eax
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x2964], edx
mov edx, dword [esp + 0x6c]
shld edx, eax, 0xd
shl eax, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cd9a9
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
movzx eax, ax
mov edx, 0x10001
mov ebx, dword [esp + 0xa0]
imul ecx, eax, 0x10001
mul edx
add edx, ecx
mov dword [ebx + 0x2968], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x296c], edx
mov edx, dword [esp + 0x24]
shld edx, eax, 0xd
shl eax, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cda06
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
movzx eax, ax
mov edx, 0x10001
mov ebx, dword [esp + 0xa0]
imul ecx, eax, 0x10001
mul edx
add edx, ecx
mov dword [ebx + 0x2970], eax
mov eax, esi
mov dword [ebx + 0x2974], edx
shl eax, 0xd
mov edx, edi
shld edx, esi, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cda5f
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
movzx eax, ax
mov edx, 0x10001
mov ebx, dword [esp + 0xa0]
imul ecx, eax, 0x10001
mul edx
add edx, ecx
mov dword [ebx + 0x2978], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x297c], edx
mov edx, dword [esp + 0x44]
shld edx, eax, 3
shl eax, 3
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cdabc
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
movzx eax, ax
mov edx, 0x10001
mov ebx, dword [esp + 0xa0]
imul ecx, eax, 0x10001
mul edx
add edx, ecx
mov dword [ebx + 0x2980], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x2984], edx
mov edx, dword [esp + 0x2c]
shld edx, eax, 0xd
shl eax, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cdb19
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
mov ebx, dword [esp + 0xa0]
cwde
mov edx, dword [esp + 0x44]
mov dword [ebx + 0x292c], eax
mov eax, dword [esp + 0x40]
shrd eax, edx, 7
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cdb50
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
mov ebx, dword [esp + 0xa0]
cwde
mov edx, dword [esp + 0x64]
mov dword [ebx + 0x2928], eax
mov eax, dword [esp + 0x60]
shld edx, eax, 0xd
shl eax, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cdb96
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
mov ebx, dword [esp + 0xa0]
cwde
mov edx, dword [esp + 0x24]
mov dword [ebx + 0x2930], eax
mov eax, dword [esp + 0x20]
shld edx, eax, 0xd
shl eax, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cdbdc
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
mov ebx, dword [esp + 0xa0]
cwde
mov edx, edi
shld edx, esi, 0xd
mov dword [ebx + 0x2934], eax
mov eax, esi
shl eax, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cdc1e
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
mov ebx, dword [esp + 0xa0]
cwde
mov edx, dword [esp + 0x6c]
mov dword [ebx + 0x2938], eax
mov eax, dword [esp + 0x68]
shld edx, eax, 0xd
shl eax, 0xd
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
mov edx, eax
mov eax, 0xffff8000
cmp edx, 0xffff8001
jl 0x10cdc64
mov eax, 0x7fff
cmp edx, 0x7fff
cmovle eax, edx
mov ebx, dword [esp + 0xa0]
cwde
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
mov dword [ebx + 0x293c], eax
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
shld edx, eax, 0x10
shl eax, 0x10
add eax, 0x8000
adc edx, 0
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.01087f40
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], ebx
shld edx, eax, 0x10
shl eax, 0x10
add eax, 0x8000
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.01087f40
mov ecx, dword [esp + 0x28]
mov edx, edi
mov ebx, dword [esp + 0x2c]
shld edx, esi, 0x10
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x68], eax
mov eax, esi
shl eax, 0x10
add eax, 0x8000
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.01087f40
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
shld edx, eax, 0x10
shl eax, 0x10
add eax, 0x8000
adc edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.01087f40
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x8f0]
mov dword [esp], eax
call fcn.00ad0250
cmp dword [esp + 0x70], 0x10
jg 0x10cdda6
cmp dword [esp + 0x70], 0xf
jge 0x10ce234
cmp dword [esp + 0x70], 4
je 0x10cde5b
jg 0x10cdd8b
cmp dword [esp + 0x70], 1
jne 0x10ce61e
jmp 0x10cddde
cmp dword [esp + 0x70], 8
je 0x10cdfb7
cmp dword [esp + 0x70], 0xc
jne 0x10ce61e
jmp 0x10ce108
cmp dword [esp + 0x70], 0x20
je 0x10ce469
jg 0x10cddc3
cmp dword [esp + 0x70], 0x18
jne 0x10ce61e
jmp 0x10ce3b6
cmp dword [esp + 0x70], 0x30
je 0x10ce3b6
cmp dword [esp + 0x70], 0x84
jne 0x10ce61e
jmp 0x10cde5b
mov dword [esp], 0x400
or edi, 0xffffffff
mov esi, 0xfe800000
call fcn.00ad00c0
sub esi, dword [esp + 0x40]
sbb edi, dword [esp + 0x44]
xor ecx, ecx
mov ebx, eax
mov eax, dword [esp + 0xa0]
mov dword [eax + 0x8f0], ebx
mov eax, esi
mov edx, edi
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
test eax, 0xffffff00
mov dl, al
je 0x10cde27
neg eax
cdq
shr dl, 7
mov byte [ebx + ecx + 0x6e], dl
add esi, dword [esp + 0x28]
adc edi, dword [esp + 0x2c]
inc ecx
cmp ecx, 0x392
jne 0x10cde0b
mov eax, dword [esp + 0xa0]
add ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
add eax, 0x10f4
mov dword [esp], ebx
jmp 0x10cdf8c
mov ecx, dword [esp + 0x74]
mov dword [esp], 0xc00
neg ecx
and ecx, 3
cmp dword [esp + 0x74], 1
mov dword [esp + 0x30], ecx
sbb ebp, ebp
call fcn.00ad00c0
mov ebx, dword [esp + 0xa0]
and ebp, 3
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], 0xfe800000
sub dword [esp + 0x20], ecx
mov dword [esp + 0x24], 0xffffffff
mov dword [ebx + 0x8f0], eax
mov ebx, dword [esp + 0x44]
mov esi, eax
sbb dword [esp + 0x24], ebx
xor edi, edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
test eax, 0xffffff00
mov dl, al
je 0x10cded3
neg eax
cdq
movzx eax, dl
mov cl, byte [esp + 0x30]
mov ebx, eax
add eax, 0x2b
sar ebx, 7
mov edx, ebx
shl edx, cl
mov ecx, 0x55
mov byte [esi + 0x6e], dl
cdq
idiv ecx
mov ecx, ebp
mov edx, dword [esp + 0x2c]
shl ebx, cl
mov byte [esi + 0x86e], bl
add eax, eax
mov byte [esi + 0x425], al
mov eax, dword [esp + 0x28]
add dword [esp + 0x20], eax
adc dword [esp + 0x24], edx
inc edi
inc esi
cmp edi, 0x392
jne 0x10cdeb3
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x48]
add edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x60]
add eax, 0x8f4
mov dword [esp], edx
mov edx, 1
call fcn.010cd3c8
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ebx + 0x400]
mov ecx, dword [esp + 0x50]
add eax, 0x10f4
mov dword [esp], edx
mov edx, 1
call fcn.010cd3c8
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ebx + 0x800]
mov ecx, dword [esp + 0x68]
add eax, 0x20f4
mov dword [esp], edx
mov edx, 1
call fcn.010cd3c8
mov eax, dword [esp + 0xa0]
mov edx, 1
mov ecx, dword [esp + 0x58]
add eax, 0x18f4
call fcn.010cd424
xor eax, eax
jmp 0x10ce652
mov ecx, dword [esp + 0x74]
mov dword [esp], 0xc00
neg ecx
add ecx, 3
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x74]
neg ecx
and ecx, 5
cmp dword [esp + 0x74], 1
mov dword [esp + 0x30], ecx
sbb ebp, ebp
call fcn.00ad00c0
mov ebx, dword [esp + 0xa0]
and ebp, 6
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], 0xfe800000
sub dword [esp + 0x20], ecx
mov dword [esp + 0x24], 0xffffffff
mov dword [ebx + 0x8f0], eax
mov ebx, dword [esp + 0x44]
mov esi, eax
sbb dword [esp + 0x24], ebx
xor edi, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
test eax, 0xffffff00
mov bl, al
je 0x10ce040
neg eax
mov ebx, eax
sar ebx, 0x1f
movzx ebx, bl
mov ecx, 0x24
lea eax, [ebx + 0x12]
cdq
idiv ecx
mov cl, byte [esp + 0x30]
mov edx, eax
shl edx, cl
mov cl, byte [esp + 0x48]
mov byte [esi + 0x10], dl
shl eax, cl
mov ecx, ebp
mov byte [esi + 0x410], al
lea eax, [ebx + 0x2b]
mov ebx, 0x55
cdq
idiv ebx
mov edx, dword [esp + 0x2c]
shl eax, cl
mov byte [esi + 0x825], al
mov eax, dword [esp + 0x28]
add dword [esp + 0x20], eax
adc dword [esp + 0x24], edx
inc edi
inc esi
cmp edi, 0x3da
jne 0x10ce01c
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x38]
add edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x60]
add eax, 0x8f4
mov dword [esp], edx
mov edx, 1
call fcn.010cd3c8
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ebx + 0x400]
mov ecx, dword [esp + 0x50]
add eax, 0x10f4
mov dword [esp], edx
mov edx, 1
call fcn.010cd3c8
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ebx + 0x800]
mov ecx, dword [esp + 0x68]
add eax, 0x20f4
mov dword [esp], edx
jmp 0x10cdf8c
mov ecx, dword [esp + 0x74]
mov edi, 0xfe800000
mov dword [esp], 0x1800
neg ecx
and ecx, 8
cmp dword [esp + 0x74], 1
mov dword [esp + 0x30], ecx
sbb ecx, ecx
or ebp, 0xffffffff
and ecx, 8
mov dword [esp + 0x20], ecx
call fcn.00ad00c0
mov ebx, dword [esp + 0xa0]
sub edi, dword [esp + 0x40]
sbb ebp, dword [esp + 0x44]
mov dword [ebx + 0x8f0], eax
mov esi, eax
xor ebx, ebx
mov dword [esp + 0x48], eax
mov eax, edi
mov edx, ebp
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
test eax, 0xffffff00
mov dl, al
je 0x10ce170
neg eax
cdq
mov cl, byte [esp + 0x30]
shr dl, 4
movzx eax, dl
mov edx, eax
shl edx, cl
mov cl, byte [esp + 0x20]
mov word [esi], dx
mov edx, eax
shl edx, 4
mov word [esi + 0x800], dx
shl eax, cl
add edi, dword [esp + 0x28]
adc ebp, dword [esp + 0x2c]
inc ebx
mov word [esi + 0x1000], ax
add esi, 2
cmp ebx, 0x400
jne 0x10ce154
cmp dword [esp + 0x78], 0
je 0x10ce1c8
mov edx, dword [esp + 0x48]
xor eax, eax
rol word [edx + eax*2], 8
inc eax
cmp eax, 0xc00
jne 0x10ce1bb
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ebx*2]
mov ecx, dword [esp + 0x60]
add eax, 0x8f4
mov dword [esp], edx
mov edx, 2
call fcn.010cd3c8
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ebx*2 + 0x800]
mov ecx, dword [esp + 0x50]
add eax, 0x10f4
mov dword [esp], edx
mov edx, 2
call fcn.010cd3c8
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x48]
add eax, 0x20f4
lea edx, [ecx + ebx*2 + 0x1000]
jmp 0x10ce384
mov ebx, dword [esp + 0x70]
xor edx, edx
cmp dword [esp + 0x74], 0
mov ecx, edx
mov dword [esp], 0x1800
lea eax, [ebx - 5]
cmovne ecx, eax
cmove edx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x30], edx
call fcn.00ad00c0
mov ebx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], 0xfe800000
sub dword [esp + 0x20], ecx
mov dword [esp + 0x24], 0xffffffff
mov dword [ebx + 0x8f0], eax
mov ebx, dword [esp + 0x44]
mov ebp, eax
sbb dword [esp + 0x24], ebx
mov esi, eax
mov eax, 0x12
xor edi, edi
sub eax, dword [esp + 0x70]
mov dword [esp + 0x38], ebp
mov ebp, eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
test eax, 0xffffff00
mov dl, al
je 0x10ce2c0
neg eax
cdq
mov bl, dl
mov cl, byte [esp + 0x48]
shr bl, 3
movzx ebx, bl
mov eax, ebx
shl eax, cl
mov ecx, ebp
mov word [esi], ax
movzx eax, dl
mov edx, dword [esp + 0x2c]
sar eax, cl
mov cl, byte [esp + 0x30]
shl eax, 5
mov word [esi + 0x800], ax
mov eax, dword [esp + 0x28]
shl ebx, cl
add dword [esp + 0x20], eax
adc dword [esp + 0x24], edx
inc edi
mov word [esi + 0x1000], bx
add esi, 2
cmp edi, 0x400
jne 0x10ce2a0
cmp dword [esp + 0x78], 0
mov ebp, dword [esp + 0x38]
je 0x10ce328
xor eax, eax
rol word [ebp + eax*2], 8
inc eax
cmp eax, 0xc00
jne 0x10ce31a
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x60]
lea edx, [ebp + ebx*2]
add eax, 0x8f4
mov dword [esp], edx
mov edx, 2
call fcn.010cd3c8
mov eax, dword [esp + 0xa0]
lea edx, [ebp + ebx*2 + 0x800]
mov ecx, dword [esp + 0x50]
mov dword [esp], edx
mov edx, 2
add eax, 0x10f4
call fcn.010cd3c8
mov eax, dword [esp + 0xa0]
lea edx, [ebp + ebx*2 + 0x1000]
add eax, 0x20f4
mov ecx, dword [esp + 0x68]
mov dword [esp], edx
mov edx, 2
call fcn.010cd3c8
mov eax, dword [esp + 0xa0]
mov edx, 2
mov ecx, dword [esp + 0x58]
add eax, 0x18f4
call fcn.010cd424
xor eax, eax
jmp 0x10ce652
mov dword [esp], 0x400
or edi, 0xffffffff
mov esi, 0xfe800000
call fcn.00ad00c0
sub esi, dword [esp + 0x40]
sbb edi, dword [esp + 0x44]
xor ecx, ecx
mov ebx, eax
mov eax, dword [esp + 0xa0]
mov dword [eax + 0x8f0], ebx
mov eax, esi
mov edx, edi
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
test eax, 0xffffff00
mov dl, al
je 0x10ce3ff
neg eax
cdq
add esi, dword [esp + 0x28]
mov byte [ebx + ecx], dl
adc edi, dword [esp + 0x2c]
inc ecx
cmp ecx, 0x400
jne 0x10ce3e3
mov eax, dword [esp + 0xa0]
mov edx, 1
mov ecx, dword [esp + 0x60]
add ebx, dword [esp + 0x4c]
add eax, 0x8f4
mov dword [esp], ebx
call fcn.010cd3c8
mov eax, dword [esp + 0xa0]
mov edx, 1
mov ecx, dword [esp + 0x50]
mov dword [esp], ebx
add eax, 0x10f4
call fcn.010cd3c8
mov eax, dword [esp + 0xa0]
mov dword [esp], ebx
mov ecx, dword [esp + 0x68]
add eax, 0x20f4
jmp 0x10cdf8c
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx + 0x34]
cmp eax, 0x1b
je 0x10ce47f
xor edx, edx
cmp eax, 0x1d
jne 0x10ce484
mov edx, 8
mov eax, dword [esp + 0x74]
lea ecx, [edx + 8]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x48], ecx
neg eax
and eax, 0x10
add eax, edx
cmp dword [esp + 0x74], 1
mov dword [esp + 0x30], eax
sbb eax, eax
xor ecx, ecx
and eax, 0x10
add eax, edx
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x38]
shl eax, 4
mov al, byte [eax + 0x1254d24]
cmp al, 4
sete cl
cmp al, 2
sete al
mov ebx, ecx
movzx eax, al
or ebx, eax
jne 0x10ce4dc
add edx, 0x18
and edx, 0x1f
mov dword [esp + 0x7c], edx
mov dword [esp], 0x3000
or ebp, 0xffffffff
mov edi, 0xfe800000
call fcn.00ad00c0
mov edx, dword [esp + 0xa0]
mov cl, byte [esp + 0x7c]
sub edi, dword [esp + 0x40]
mov dword [esp + 0x20], 0
sbb ebp, dword [esp + 0x44]
mov dword [esp + 0x70], eax
mov esi, dword [esp + 0x70]
mov dword [edx + 0x8f0], eax
mov eax, 0xff
shl eax, cl
test ebx, ebx
cmovne eax, dword [esp + 0x20]
xor ebx, ebx
mov dword [esp + 0x20], eax
mov eax, edi
mov edx, ebp
add eax, 0x8000
adc edx, 0
shrd eax, edx, 0x10
test eax, 0xffffff00
mov dl, al
je 0x10ce549
neg eax
cdq
mov cl, byte [esp + 0x30]
movzx eax, dl
mov edx, eax
shl edx, cl
mov cl, byte [esp + 0x48]
add edx, dword [esp + 0x20]
mov dword [esi], edx
mov edx, eax
shl edx, cl
mov cl, byte [esp + 0x38]
mov dword [esi + 0x1000], edx
shl eax, cl
add edi, dword [esp + 0x28]
adc ebp, dword [esp + 0x2c]
inc ebx
mov dword [esi + 0x2000], eax
add esi, 4
cmp ebx, 0x400
jne 0x10ce52d
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ebx*4]
mov ecx, dword [esp + 0x60]
add eax, 0x8f4
mov dword [esp], edx
mov edx, 4
call fcn.010cd3c8
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ebx*4 + 0x1000]
mov ecx, dword [esp + 0x50]
add eax, 0x10f4
mov dword [esp], edx
mov edx, 4
call fcn.010cd3c8
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0xa0]
lea edx, [ecx + ebx*4 + 0x2000]
mov ecx, dword [esp + 0x68]
add eax, 0x20f4
mov dword [esp], edx
mov edx, 4
call fcn.010cd3c8
mov eax, dword [esp + 0xa0]
mov edx, 4
mov ecx, dword [esp + 0x58]
add eax, 0x18f4
call fcn.010cd424
xor eax, eax
jmp 0x10ce652
mov ebx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x70]
mov dword [ebx + 0x8f0], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 8], str._ibpp_not_supported_by_yuv2rgb_n
mov dword [esp + 4], 0x10
mov dword [esp], ebx
call fcn.00acfa00
or eax, 0xffffffff
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret