Function at 0x100b4290
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x26c
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
movaps xmm0, xmmword [0x1122e0c0]
mov eax, 0x400
push ebx
mov ebx, ecx
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp + 0x18]
xor edx, edx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov eax, dword [ecx + 8]
xor edi, edi
mov dword [ebx + 0x2c], eax
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x30], eax
mov eax, dword [ecx]
mov dword [ebx + 0x34], eax
mov eax, dword [ecx + 4]
mov cl, byte [ecx + 0x10]
mov dword [ebx + 0x38], eax
and cl, 1
mov al, byte [ebx + 0x3c]
and al, 0x86
mov dword [ebx + 0x44], edx
or cl, al
mov dword [ebx + 0x60], edx
mov byte [ebx + 0x3c], cl
mov ecx, dword [ebp + 0x10]
mov dword [ebx + 0x5c], edx
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x54], 1
mov eax, dword [ecx]
mov dword [ebx + 0x48], eax
lea eax, [ecx + 4]
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x40], edx
movups xmmword [ebp - 0x14], xmm0
mov dword [ebp - 0x228], esi
xorps xmm0, xmm0
mov dword [ebp - 0x22c], 0
movups xmmword [esi + 0x10], xmm0
mov dword [ebp - 0x248], 0
movq qword [esi + 0x20], xmm0
mov byte [esi + 0x28], dl
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x258], edx
mov byte [ebp - 0x241], dl
mov byte [ebp - 0x221], 1
mov dword [ebp - 0x220], edi
nop dword [eax]
cmp byte [ebp - 0x221], 0
je 0x100b43bf
push 0x10
push 0xb4
call fcn.10434a32
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100b43b6
call fcn.10150910
test esi, esi
je 0x100b43ac
mov dword [esi + 0xa4], ecx
mov dword [ecx + 0xa8], esi
mov eax, dword [esi + 0xa0]
inc eax
jmp 0x100b43ae
xor eax, eax
mov dword [ecx + 0xa0], eax
mov esi, ecx
mov edx, dword [ebp - 0x258]
mov dword [ebx + 0x44], esi
test edx, edx
mov byte [ebp - 0x221], 1
mov eax, esi
cmovne eax, edx
mov edx, dword [ebx + 0x4c]
and byte [ebx + 0x3c], 0xdf
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x25c], edx
mov ecx, dword [edx]
add edx, 4
mov dword [ebp - 0x250], ecx
mov eax, dword [ebp - 0x250]
shr ecx, 0x1c
add cl, cl
movzx eax, ax
xor cl, byte [ebx + 0x3c]
and cl, 2
mov dword [ebx + 0x4c], edx
xor cl, byte [ebx + 0x3c]
mov byte [ebx + 0x3c], cl
mov dword [ebp - 0x21c], eax
cmp eax, 0xfffe
ja 0x100b5de9
je 0x100b5dbe
cmp eax, 0x60
ja case.default.0x100b442f
movzx eax, byte [eax + 0x100b61e0]
jmp dword [eax*4 + 0x100b610c]
dec edi
mov byte [ebp - 0x221], 0
mov dword [ebp - 0x220], edi
mov edx, dword [ebp - 0x21c]
jmp 0x100b5e0a
mov ecx, dword [edx]
mov eax, ecx
shr eax, 0x14
and ecx, 0x1800
and eax, 0x700
or eax, ecx
mov ecx, ebx
cmp eax, 0x300
jne 0x100b450c
mov eax, 0x4b
mov word [esi + 0x10], ax
mov eax, dword [ebx + 0x4c]
push dword [eax]
push dword [ebx + 0x44]
call fcn.100b2320
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x28]
and eax, 0xffe6ffff
or eax, 0x60000
mov dword [ecx + 0x28], eax
mov ecx, ebx
add dword [ebx + 0x4c], 4
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b44fd
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b44fd
cmp ax, 6
je 0x100b44fd
cmp ax, 0x38
je 0x100b44fd
cmp ax, 0x48
je 0x100b44fd
cmp ax, 0x4e
je 0x100b44fd
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
add dword [ebx + 0x4c], 4
mov edx, dword [ebp - 0x21c]
jmp 0x100b5e0a
mov eax, 1
mov word [esi + 0x10], ax
mov eax, dword [ebx + 0x4c]
push dword [eax]
push dword [ebx + 0x44]
call fcn.100b2320
add dword [ebx + 0x4c], 4
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b4586
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b4586
cmp ax, 6
je 0x100b4586
cmp ax, 0x38
je 0x100b4586
cmp ax, 0x48
je 0x100b4586
cmp ax, 0x4e
je 0x100b4586
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
add dword [ebx + 0x4c], 4
mov eax, dword [ebx + 0x44]
movups xmm0, xmmword [eax + 0x1c]
movd edx, xmm0
movups xmmword [ebp - 0x240], xmm0
mov eax, edx
and al, 0x3f
cmp al, 1
jne case.0x100b442f.49
mov ecx, dword [ebp - 0x234]
test ecx, 0x1000000
jne case.0x100b442f.49
lea eax, [edx*4]
mov edx, dword [ebp - 0x228]
sar eax, 8
or byte [eax + edx + 0x10], cl
mov edx, dword [ebp - 0x21c]
jmp 0x100b5e0a
mov ecx, dword [edx]
mov eax, ecx
shr eax, 0x14
and ecx, 0x1800
and eax, 0x700
or eax, ecx
cmp eax, 0x300
jne case.0x100b442f.49
mov eax, 0x4c
mov ecx, ebx
mov word [esi + 0x10], ax
mov eax, dword [ebx + 0x4c]
push dword [eax]
push dword [ebx + 0x44]
call fcn.100b2320
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x28]
and eax, 0xffe6ffff
or eax, 0x60000
mov dword [ecx + 0x28], eax
mov ecx, ebx
add dword [ebx + 0x4c], 4
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b4687
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b4687
cmp ax, 6
je 0x100b4687
cmp ax, 0x38
je 0x100b4687
cmp ax, 0x48
je 0x100b4687
cmp ax, 0x4e
je 0x100b4687
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
add dword [ebx + 0x4c], 4
mov edx, dword [ebp - 0x21c]
jmp 0x100b5e0a
push 3
mov ecx, ebx
call fcn.100b2650
jmp 0x100b458a
push ecx
mov ecx, ebx
call fcn.100b2750
jmp 0x100b458a
push 2
mov ecx, ebx
call fcn.100b2650
jmp 0x100b458a
mov eax, 0x1a
mov word [esi + 0x10], ax
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
push dword [eax]
push dword [ebx + 0x44]
call fcn.100b2320
add dword [ebx + 0x4c], 4
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
mov edi, dword [eax]
push edi
push esi
call fcn.100b2050
shr edi, 0x16
and edi, 3
mov word [esi + 0xc], di
add dword [ebx + 0x4c], 4
mov eax, dword [ebx + 0x44]
mov edi, dword [ebp - 0x220]
movups xmm0, xmmword [eax + 0x1c]
movd edx, xmm0
movups xmmword [ebp - 0x240], xmm0
mov eax, edx
and al, 0x3f
cmp al, 1
jne 0x100b45ce
jmp 0x100b45a8
mov eax, 0x1b
mov ecx, ebx
mov word [esi + 0x10], ax
mov eax, dword [ebx + 0x4c]
push dword [eax]
push dword [ebx + 0x44]
call fcn.100b2320
add dword [ebx + 0x4c], 4
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
mov edi, dword [eax]
push edi
push esi
call fcn.100b2050
shr edi, 0x16
and edi, 3
mov word [esi + 0xc], di
mov eax, dword [ebx + 0x44]
add dword [ebx + 0x4c], 4
or dword [eax + 0x38], 0x2000000
mov eax, dword [ebx + 0x44]
and dword [eax + 0x38], 0xfbffffff
jmp 0x100b46fd
push 5
mov ecx, ebx
call fcn.100b2650
jmp 0x100b458a
push 6
mov ecx, ebx
call fcn.100b2650
jmp 0x100b458a
push 8
mov ecx, ebx
call fcn.100b2650
jmp 0x100b458a
push 9
mov ecx, ebx
call fcn.100b2650
jmp 0x100b458a
push 0xa
mov ecx, ebx
call fcn.100b2650
jmp 0x100b458a
push 0xb
mov ecx, ebx
call fcn.100b2650
jmp 0x100b458a
mov eax, 0x1e
mov ecx, ebx
jmp 0x100b4511
push 7
mov ecx, ebx
call fcn.100b2650
jmp 0x100b458a
push 6
mov ecx, ebx
call fcn.100b28b0
mov eax, dword [ebx + 0x44]
movups xmm0, xmmword [eax + 0x1c]
movd ecx, xmm0
movups xmmword [ebp - 0x240], xmm0
mov eax, ecx
and al, 0x3f
cmp al, 1
jne 0x100b482c
test dword [ebp - 0x234], 0x1000000
jne 0x100b482c
lea eax, [ecx*4]
mov ecx, dword [ebp - 0x228]
sar eax, 8
or byte [eax + ecx + 0x10], 0xf
mov edx, dword [ebp - 0x21c]
add edi, 3
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
push 5
jmp 0x100b47ea
push 6
mov ecx, ebx
call fcn.100b2d70
mov eax, dword [ebx + 0x44]
movups xmm0, xmmword [eax + 0x1c]
movd ecx, xmm0
movups xmmword [ebp - 0x240], xmm0
mov eax, ecx
and al, 0x3f
cmp al, 1
jne 0x100b4888
test dword [ebp - 0x234], 0x1000000
jne 0x100b4888
lea eax, [ecx*4]
mov ecx, dword [ebp - 0x228]
sar eax, 8
or byte [eax + ecx + 0x10], 7
mov edx, dword [ebp - 0x21c]
add edi, 2
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
push 5
jmp 0x100b4846
push ecx
mov ecx, ebx
call fcn.100b30c0
mov eax, dword [ebx + 0x44]
movups xmm0, xmmword [eax + 0x1c]
movd ecx, xmm0
movups xmmword [ebp - 0x240], xmm0
mov eax, ecx
and al, 0x3f
cmp al, 1
jne 0x100b48e3
test dword [ebp - 0x234], 0x1000000
jne 0x100b48e3
lea eax, [ecx*4]
mov ecx, dword [ebp - 0x228]
sar eax, 8
or byte [eax + ecx + 0x10], 3
mov edx, dword [ebp - 0x21c]
inc edi
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov eax, 0x10
mov ecx, ebx
mov word [esi + 0x10], ax
mov eax, dword [ebx + 0x4c]
push dword [eax]
push dword [ebx + 0x44]
call fcn.100b2320
add dword [ebx + 0x4c], 4
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b4971
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b4971
cmp ax, 6
je 0x100b4971
cmp ax, 0x38
je 0x100b4971
cmp ax, 0x48
je 0x100b4971
cmp ax, 0x4e
je 0x100b4971
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
add dword [ebx + 0x4c], 4
cmp dword [ebx + 0x48], 0xfffe0200
jae 0x100b458a
mov eax, dword [ebx + 0x44]
and byte [eax + 0x28], 3
jmp 0x100b458a
cmp dword [ebx + 0x48], 0xfffe0200
sbb eax, eax
and eax, 0x33
add eax, 0x1c
jmp 0x100b46c4
cmp dword [ebx + 0x48], 0xfffe0200
sbb eax, eax
and eax, 0x33
add eax, 0x1d
mov word [esi + 0x10], ax
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
push dword [eax]
push dword [ebx + 0x44]
call fcn.100b2320
add dword [ebx + 0x4c], 4
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
mov edi, dword [eax]
push edi
push esi
call fcn.100b2050
shr edi, 0x16
and edi, 3
mov word [esi + 0xc], di
mov eax, dword [ebx + 0x44]
add dword [ebx + 0x4c], 4
and dword [eax + 0x38], 0xfbffffff
mov eax, dword [ebx + 0x44]
or dword [eax + 0x38], 0x2000000
jmp 0x100b46fd
mov eax, 0x1c
jmp 0x100b46c4
mov eax, 0x1d
jmp 0x100b49b1
push 3
mov ecx, ebx
call fcn.100b2650
mov edx, dword [ebx + 0x44]
mov eax, dword [edx + 0x38]
mov ecx, eax
not ecx
xor ecx, eax
and ecx, 0x4000000
xor ecx, eax
mov dword [edx + 0x38], ecx
jmp 0x100b458a
push dword [edx]
mov ecx, ebx
mov dword [ebp - 0x26c], 2
push esi
mov dword [ebp - 0x260], 0x100e4
mov dword [ebp - 0x268], 0x3800000
mov dword [ebp - 0x264], 0
call fcn.100b2320
add dword [ebx + 0x4c], 4
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
push dword [eax]
lea eax, [ebp - 0x26c]
push eax
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b4ade
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b4ade
cmp ax, 6
je 0x100b4ade
cmp ax, 0x38
je 0x100b4ade
cmp ax, 0x48
je 0x100b4ade
cmp ax, 0x4e
je 0x100b4ade
mov ecx, dword [ebp - 0x260]
movsx esi, cx
and ecx, 0xffff0000
mov edx, esi
mov eax, esi
sar edx, 2
and eax, 3
and edx, 3
shl eax, 2
or edx, eax
and esi, 0xf0
or edx, ecx
or edx, esi
mov dword [ebp - 0x260], edx
mov eax, dword [ebx + 0x44]
mov ecx, 9
add dword [ebx + 0x4c], 4
movups xmm0, xmmword [ebp - 0x26c]
mov word [eax + 0x10], cx
mov eax, dword [ebx + 0x44]
movups xmmword [eax + 0x2c], xmm0
mov eax, dword [ebx + 0x44]
movups xmmword [eax + 0x3c], xmm0
mov edx, dword [ebx + 0x44]
mov eax, dword [edx + 0x48]
mov ecx, eax
not ecx
xor ecx, eax
and ecx, 0x4000000
xor ecx, eax
mov dword [edx + 0x48], ecx
mov edx, dword [ebp - 0x21c]
jmp 0x100b5e0a
mov ecx, ebx
call fcn.100b32f0
mov edx, dword [ebp - 0x21c]
add edi, eax
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov ecx, ebx
call fcn.100b34a0
mov edx, dword [ebp - 0x21c]
add edi, 2
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov ecx, ebx
call fcn.100b37d0
mov edx, dword [ebp - 0x21c]
inc edi
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov ecx, ebx
call fcn.100b3ba0
mov edx, dword [ebp - 0x21c]
inc edi
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov eax, 0x54
mov ecx, ebx
mov word [esi + 0x10], ax
mov eax, dword [ebx + 0x4c]
push dword [eax]
push dword [ebx + 0x44]
call fcn.100b2320
add dword [ebx + 0x4c], 4
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b4c08
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b4c08
cmp ax, 6
je 0x100b4c08
cmp ax, 0x38
je 0x100b4c08
cmp ax, 0x48
je 0x100b4c08
cmp ax, 0x4e
je 0x100b4c08
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
mov eax, dword [ebx + 0x44]
add dword [ebx + 0x4c], 4
movups xmm0, xmmword [eax + 0x1c]
movd edx, xmm0
movups xmmword [ebp - 0x240], xmm0
mov eax, edx
and al, 0x3f
cmp al, 1
jne 0x100b4c48
mov ecx, dword [ebp - 0x234]
test ecx, 0x1000000
jne 0x100b4c48
lea eax, [edx*4]
mov edx, dword [ebp - 0x228]
sar eax, 8
or byte [eax + edx + 0x10], cl
add dword [ebx + 0x4c], 8
mov edx, dword [ebp - 0x21c]
jmp 0x100b5e0a
mov ecx, ebx
call fcn.100b3f10
mov edx, dword [ebp - 0x21c]
add edi, 2
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov esi, dword [edx + 4]
mov ecx, esi
shr ecx, 0x14
mov eax, esi
and ecx, 0x700
and eax, 0x1800
or ecx, eax
cmp ecx, 0xa00
jne case.0x100b442f.47
mov ecx, dword [edx]
and esi, 0x7ff
and ecx, 0x78000000
cmp ecx, 0x10000000
je 0x100b4ccb
cmp ecx, 0x18000000
je 0x100b4cc4
cmp ecx, 0x20000000
mov eax, 2
mov ecx, 0x7f
cmovne eax, ecx
jmp 0x100b4cd0
mov eax, 3
jmp 0x100b4cd0
mov eax, 1
mov dword [ebp + esi*4 - 0x14], eax
lea eax, [edx + 8]
mov byte [ebp - 0x221], 0
mov edx, dword [ebp - 0x21c]
dec edi
mov dword [ebx + 0x4c], eax
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
lea eax, [edx + 0x14]
mov byte [ebp - 0x221], 0
mov edx, dword [ebp - 0x21c]
dec edi
mov dword [ebx + 0x4c], eax
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov ecx, dword [edx]
and ecx, 0x7ff
cmp dword [ebp - 0x22c], 0
mov dword [ebp - 0x250], ecx
jbe 0x100b4e6c
mov edx, dword [ebp - 0x254]
xor eax, eax
test edx, edx
je 0x100b4d4e
nop dword [eax]
cmp dword [ebp + eax*4 - 0x218], ecx
je 0x100b4d4e
inc eax
cmp eax, edx
jb 0x100b4d40
cmp eax, edx
jne 0x100b4d72
cmp edx, 0x20
jae case.0x100b442f.49
inc edx
mov dword [ebp - 0x254], edx
lea edx, [eax*4]
mov dword [ebp + edx - 0x218], ecx
jmp 0x100b4d79
lea edx, [eax*4]
mov eax, dword [ebx + 0x44]
mov ecx, 1
push 0x10
inc edi
push 0xb4
mov word [eax + 0x10], cx
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x220], edi
mov byte [eax + 0x14], 4
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc2
or eax, 2
mov dword [ecx + 0x2c], eax
mov eax, dword [ebx + 0x1c]
add eax, dword [ebp - 0x24c]
add eax, dword [ebp - 0x22c]
mov ecx, dword [ebx + 0x44]
shl eax, 6
sub eax, 0x40
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x38]
and eax, 0xffe4ffff
or eax, 0x40000
mov dword [ecx + 0x38], eax
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x38], cx
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x1c]
and eax, 0xffffffc2
or eax, 2
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x44]
add eax, 4
add eax, edx
shl eax, 6
xor eax, dword [ecx + 0x1c]
and eax, 0x3fffffc0
xor dword [ecx + 0x1c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x28]
and eax, 0xffe4ffff
or eax, 0x40000
mov dword [ecx + 0x28], eax
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x28], 1
mov esi, dword [ebx + 0x44]
call fcn.10434a32
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100b4e63
call fcn.10150910
test esi, esi
je 0x100b4e59
mov dword [esi + 0xa4], ecx
mov dword [ecx + 0xa8], esi
mov eax, dword [esi + 0xa0]
inc eax
jmp 0x100b4e5b
xor eax, eax
mov dword [ecx + 0xa0], eax
mov esi, ecx
mov ecx, dword [ebp - 0x250]
mov dword [ebx + 0x44], esi
mov eax, dword [esi + 0x2c]
mov edx, dword [ebp - 0x21c]
and eax, 0xc000003f
shl ecx, 6
or eax, ecx
mov dword [esi + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
cmp edx, 0x19
jne 0x100b4eab
mov eax, dword [ebx + 0x44]
mov ecx, 0x41
mov word [eax + 0x10], cx
add dword [ebx + 0x4c], 4
jmp 0x100b5e0a
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebx + 0x44]
mov ecx, dword [eax + 4]
mov eax, ecx
shr eax, 0x14
and ecx, 0x1800
and eax, 0x700
or eax, ecx
cmp eax, 0xe00
jne 0x100b4f44
mov eax, 0x58
mov ecx, ebx
mov word [edx + 0x10], ax
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x1a], 5
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x3c
push dword [eax + 4]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b4f7e
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b4f7e
cmp ax, 6
je 0x100b4f7e
cmp ax, 0x38
je 0x100b4f7e
cmp ax, 0x48
je 0x100b4f7e
cmp ax, 0x4e
je 0x100b4f7e
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
jmp 0x100b4f7e
mov eax, 0x41
mov word [edx + 0x10], ax
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x1a], 5
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x54]
shl eax, 0x18
xor eax, dword [ecx + 0x18]
and eax, 0x7000000
xor dword [ecx + 0x18], eax
mov eax, dword [ebx + 0x4c]
mov cx, word [eax + 6]
mov eax, 0xff
and cx, ax
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
mov eax, dword [ebx + 0x4c]
mov eax, dword [eax + 4]
and eax, 0xf000000
cmp eax, 0xd000000
jne 0x100b4f97
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x1a], 2
add dword [ebx + 0x4c], 8
mov edx, dword [ebp - 0x21c]
jmp 0x100b5e0a
mov eax, dword [ebp - 0x22c]
xor ecx, ecx
mov edx, dword [ebp - 0x21c]
test eax, eax
mov dword [ebp - 0x24c], ecx
cmovne eax, ecx
mov dword [ebp - 0x22c], eax
mov eax, 0x45
mov word [esi + 0x10], ax
jmp 0x100b5e0a
mov esi, dword [edx]
xor eax, eax
and esi, 0x7ff
cmp dword [ebp - 0x254], eax
jbe 0x100b501e
nop word [eax + eax]
lea ecx, [eax*4]
cmp dword [ebp + ecx - 0x218], esi
je 0x100b500b
inc eax
cmp eax, dword [ebp - 0x254]
jb 0x100b4ff0
jmp 0x100b501e
lea eax, [ecx + 4]
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x24c], eax
lea eax, [edx + 4]
shl esi, 6
mov dword [ebx + 0x4c], eax
mov ecx, 0x4a
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 0x21c]
mov word [eax + 0x10], cx
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xc000003f
or eax, esi
mov dword [ecx + 0x2c], eax
jmp 0x100b5e0a
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x22c]
add eax, ecx
cmp eax, 0x2f
je case.0x100b442f.49
mov eax, dword [ebp - 0x230]
sub eax, 2
mov dword [ebp + ecx*4 - 0xd8], eax
inc ecx
mov dword [ebp - 0x230], eax
mov eax, 0x44
mov word [esi + 0x10], ax
mov dword [ebp - 0x22c], ecx
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc2
or eax, 2
mov dword [ecx + 0x2c], eax
mov eax, dword [ebx + 0x44]
and dword [eax + 0x2c], 0xc000003f
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x3c
mov ecx, dword [eax]
add eax, 4
push ecx
push esi
mov ecx, ebx
mov dword [ebx + 0x4c], eax
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b511a
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b511a
cmp ax, 6
je 0x100b511a
cmp ax, 0x38
je 0x100b511a
cmp ax, 0x48
je 0x100b511a
cmp ax, 0x4e
je 0x100b511a
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebp - 0x21c]
mov eax, dword [ecx + 0x4c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0x230]
shl eax, 6
xor eax, dword [ecx + 0x4c]
and eax, 0x3fffffc0
xor dword [ecx + 0x4c], eax
inc edi
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x22c]
add eax, ecx
cmp eax, 0x2f
je case.0x100b442f.49
mov eax, dword [ebp - 0x230]
sub eax, 2
mov dword [ebp + ecx*4 - 0xd8], eax
inc ecx
mov dword [ebp - 0x230], eax
lea eax, [edx + 4]
mov dword [ebx + 0x4c], eax
mov eax, 1
mov word [esi + 0x10], ax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x22c], ecx
mov ecx, ebx
mov byte [eax + 0x14], 4
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b51fc
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b51fc
cmp ax, 6
je 0x100b51fc
cmp ax, 0x38
je 0x100b51fc
cmp ax, 0x48
je 0x100b51fc
cmp ax, 0x4e
je 0x100b51fc
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
mov eax, dword [ebx + 0x44]
mov ecx, 0xa9
push 0x10
push 0xb4
mov word [eax + 0x38], cx
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x1c]
and eax, 0xffffffc2
or eax, 2
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x1c]
add eax, dword [ebp - 0x24c]
add eax, dword [ebp - 0x22c]
mov ecx, dword [ebx + 0x44]
shl eax, 6
sub eax, 0x40
xor eax, dword [ecx + 0x1c]
and eax, 0x3fffffc0
xor dword [ecx + 0x1c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x28]
and eax, 0xffe4ffff
or eax, 0x40000
mov dword [ecx + 0x28], eax
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x28], 3
mov esi, dword [ebx + 0x44]
call fcn.10434a32
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100b5294
call fcn.10150910
test esi, esi
je 0x100b528a
mov dword [esi + 0xa4], ecx
mov dword [ecx + 0xa8], esi
mov eax, dword [esi + 0xa0]
inc eax
jmp 0x100b528c
xor eax, eax
mov dword [ecx + 0xa0], eax
mov esi, ecx
mov dword [ebx + 0x44], esi
mov eax, 0x43
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc7
or eax, 7
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xc000007f
or eax, 0x40
mov dword [ecx + 0x2c], eax
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x3c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b5320
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b5320
cmp ax, 6
je 0x100b5320
cmp ax, 0x38
je 0x100b5320
cmp ax, 0x48
je 0x100b5320
cmp ax, 0x4e
je 0x100b5320
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
mov ecx, dword [ebx + 0x44]
add dword [ebx + 0x4c], 4
mov edx, dword [ebp - 0x21c]
mov eax, dword [ecx + 0x4c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x4c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0x230]
shl eax, 6
xor eax, dword [ecx + 0x4c]
and eax, 0x3fffffc0
xor dword [ecx + 0x4c], eax
add edi, 2
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov edx, dword [ebp - 0x21c]
mov eax, 0x4d
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp + eax*4 - 0xdc]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
jmp 0x100b5e0a
mov eax, 0x4d
mov edx, dword [ebp - 0x21c]
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0x22c]
mov eax, dword [ebp + eax*4 - 0xdc]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x54]
shl eax, 0x18
xor eax, dword [ecx + 0x18]
and eax, 0x7000000
xor dword [ecx + 0x18], eax
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x1a], 5
mov eax, dword [ebx + 0x4c]
mov cx, word [eax + 2]
mov eax, 0xff
and cx, ax
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
add dword [ebx + 0x4c], 4
jmp 0x100b5e0a
mov eax, 3
mov ecx, ebx
mov word [esi + 0x10], ax
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x2c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b547e
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b547e
cmp ax, 6
je 0x100b547e
cmp ax, 0x38
je 0x100b547e
cmp ax, 0x48
je 0x100b547e
cmp ax, 0x4e
je 0x100b547e
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
add dword [ebx + 0x4c], 4
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x3c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b54e2
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b54e2
cmp ax, 6
je 0x100b54e2
cmp ax, 0x38
je 0x100b54e2
cmp ax, 0x48
je 0x100b54e2
cmp ax, 0x4e
je 0x100b54e2
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
mov edx, dword [ebx + 0x44]
inc edi
add dword [ebx + 0x4c], 4
push 0x10
push 0xb4
mov eax, dword [edx + 0x48]
mov ecx, eax
not ecx
mov dword [ebp - 0x220], edi
xor ecx, eax
and ecx, 0x4000000
xor ecx, eax
mov dword [edx + 0x48], ecx
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x1c]
and eax, 0xffffffcc
or eax, 0xc
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x28], 1
mov eax, dword [ebx + 0x44]
or dword [eax + 0x18], 0x40000000
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x50]
shl eax, 0x1b
xor eax, dword [ecx + 0x18]
and eax, 0x38000000
xor dword [ecx + 0x18], eax
mov esi, dword [ebx + 0x44]
call fcn.10434a32
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100b5578
call fcn.10150910
test esi, esi
je 0x100b556e
mov dword [esi + 0xa4], ecx
mov dword [ecx + 0xa8], esi
mov eax, dword [esi + 0xa0]
inc eax
jmp 0x100b5570
xor eax, eax
mov dword [ecx + 0xa0], eax
mov esi, ecx
mov dword [ebx + 0x44], esi
mov eax, 0x4d
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp + eax*4 - 0xdc]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x50]
shl eax, 0x18
xor eax, dword [ecx + 0x18]
and eax, 0x7000000
xor dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x250]
shr eax, 0x10
and eax, 7
dec eax
cmp eax, 5
ja case.default.0x100b55db
jmp dword [eax*4 + 0x100b6244]
mov eax, dword [ebx + 0x44]
mov cl, 4
mov edx, dword [ebp - 0x21c]
mov byte [eax + 0x1a], cl
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
jmp 0x100b5e0a
mov eax, dword [ebx + 0x44]
mov cl, 2
mov edx, dword [ebp - 0x21c]
mov byte [eax + 0x1a], cl
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
jmp 0x100b5e0a
mov eax, dword [ebx + 0x44]
mov cl, 6
mov edx, dword [ebp - 0x21c]
mov byte [eax + 0x1a], cl
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
jmp 0x100b5e0a
mov eax, dword [ebx + 0x44]
mov cl, 1
mov edx, dword [ebp - 0x21c]
mov byte [eax + 0x1a], cl
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
jmp 0x100b5e0a
mov eax, dword [ebx + 0x44]
mov cl, 5
mov edx, dword [ebp - 0x21c]
mov byte [eax + 0x1a], cl
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
jmp 0x100b5e0a
mov eax, dword [ebx + 0x44]
mov cl, 3
mov edx, dword [ebp - 0x21c]
mov byte [eax + 0x1a], cl
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
jmp 0x100b5e0a
mov eax, dword [ebx + 0x44]
xor cl, cl
mov edx, dword [ebp - 0x21c]
mov byte [eax + 0x1a], cl
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
jmp 0x100b5e0a
mov edx, dword [ebp - 0x22c]
mov eax, 3
mov word [esi + 0x10], ax
dec edx
mov eax, dword [ebx + 0x44]
mov esi, dword [ebp - 0x24c]
push 0x10
push 0xb4
mov byte [eax + 0x14], 4
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0x22c], edx
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc2
or eax, 2
mov dword [ecx + 0x2c], eax
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x44]
add eax, esi
add eax, edx
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x38]
and eax, 0xffe4ffff
or eax, 0x40000
mov dword [ecx + 0x38], eax
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x38], cx
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x3c]
and eax, 0xffffffc2
or eax, 2
mov dword [ecx + 0x3c], eax
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x44]
add eax, esi
add eax, edx
shl eax, 6
xor eax, dword [ecx + 0x3c]
and eax, 0x3fffffc0
xor dword [ecx + 0x3c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x48]
and eax, 0xffe4ffff
or eax, 0x40000
mov dword [ecx + 0x48], eax
mov ecx, 0x55
mov eax, dword [ebx + 0x44]
mov word [eax + 0x48], cx
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x1c]
and eax, 0xffffffc2
or eax, 2
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x44]
add eax, esi
add eax, edx
shl eax, 6
xor eax, dword [ecx + 0x1c]
and eax, 0x3fffffc0
xor dword [ecx + 0x1c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x28]
and eax, 0xffe4ffff
or eax, 0x40000
mov dword [ecx + 0x28], eax
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x28], 1
mov esi, dword [ebx + 0x44]
call fcn.10434a32
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100b57d3
call fcn.10150910
test esi, esi
je 0x100b57c9
mov dword [esi + 0xa4], ecx
mov dword [ecx + 0xa8], esi
mov eax, dword [esi + 0xa0]
inc eax
jmp 0x100b57cb
xor eax, eax
mov dword [ecx + 0xa0], eax
mov esi, ecx
mov dword [ebx + 0x44], esi
mov eax, 0x4a
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebp - 0x21c]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp + eax*4 - 0xd8]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
add edi, 2
mov dword [ebp - 0x220], edi
jmp 0x100b5e0a
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x248]
add eax, ecx
cmp eax, 0x2f
je case.0x100b442f.49
mov eax, dword [ebp - 0x230]
sub eax, 2
mov dword [ebp + ecx*4 - 0x198], eax
inc ecx
mov dword [ebp - 0x248], ecx
mov dword [ebp - 0x230], eax
mov eax, dword [edx]
mov ecx, eax
shr ecx, 0x14
and eax, 0x1800
and ecx, 0x700
or ecx, eax
shr ecx, 8
cmp ecx, 0xe
jne 0x100b592d
mov eax, 0x57
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0x230]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x3c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b5903
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b5903
cmp ax, 6
je 0x100b5903
cmp ax, 0x38
je 0x100b5903
cmp ax, 0x48
je 0x100b5903
cmp ax, 0x4e
je 0x100b5903
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x44]
mov eax, dword [eax]
and eax, 0xf000000
cmp eax, 0xd000000
mov al, 5
je 0x100b591b
mov al, 2
mov edx, dword [ebp - 0x21c]
mov byte [ecx + 0x1a], al
add dword [ebx + 0x4c], 4
jmp 0x100b5e0a
cmp ecx, 0x13
jne 0x100b59ad
mov eax, 0x4d
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0x230]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x54]
shl eax, 0x18
xor eax, dword [ecx + 0x18]
and eax, 0x7000000
xor dword [ecx + 0x18], eax
mov eax, dword [ebx + 0x4c]
mov cx, word [eax + 2]
mov eax, 0xff
and cx, ax
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
mov ecx, 2
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebx + 0x44]
mov eax, dword [eax]
and eax, 0xf000000
cmp eax, 0xd000000
mov eax, 5
cmove ecx, eax
mov byte [edx + 0x1a], cl
add dword [ebx + 0x4c], 4
mov edx, dword [ebp - 0x21c]
jmp 0x100b5e0a
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x248]
add eax, ecx
cmp eax, 0x2f
je case.0x100b442f.49
mov eax, dword [ebp - 0x230]
sub eax, 2
mov dword [ebp + ecx*4 - 0x198], eax
inc ecx
mov dword [ebp - 0x230], eax
mov eax, 3
mov word [esi + 0x10], ax
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
mov dword [ebp - 0x248], ecx
add esi, 0x2c
mov ecx, ebx
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b5a59
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b5a59
cmp ax, 6
je 0x100b5a59
cmp ax, 0x38
je 0x100b5a59
cmp ax, 0x48
je 0x100b5a59
cmp ax, 0x4e
je 0x100b5a59
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
add dword [ebx + 0x4c], 4
mov ecx, ebx
mov eax, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x44]
add esi, 0x3c
push dword [eax]
push esi
call fcn.100b2050
test byte [ebx + 0x3c], 0x20
je 0x100b5abd
mov eax, dword [ebx + 0x44]
movzx eax, word [eax + 0x10]
cmp ax, 5
je 0x100b5abd
cmp ax, 6
je 0x100b5abd
cmp ax, 0x38
je 0x100b5abd
cmp ax, 0x48
je 0x100b5abd
cmp ax, 0x4e
je 0x100b5abd
movzx edx, word [esi + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 2
and eax, 3
and ecx, 3
shl eax, 2
or ecx, eax
and edx, 0xf0
or ecx, edx
mov word [esi + 0xc], cx
mov edx, dword [ebx + 0x44]
inc edi
add dword [ebx + 0x4c], 4
push 0x10
push 0xb4
mov eax, dword [edx + 0x48]
mov ecx, eax
not ecx
mov dword [ebp - 0x220], edi
xor ecx, eax
and ecx, 0x4000000
xor ecx, eax
mov dword [edx + 0x48], ecx
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x1c]
and eax, 0xffffffcc
or eax, 0xc
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x44]
or dword [eax + 0x18], 0x40000000
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x50]
shl eax, 0x1b
xor eax, dword [ecx + 0x18]
and eax, 0x38000000
xor dword [ecx + 0x18], eax
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x28], 1
mov esi, dword [ebx + 0x44]
call fcn.10434a32
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100b5b53
call fcn.10150910
test esi, esi
je 0x100b5b49
mov dword [esi + 0xa4], ecx
mov dword [ecx + 0xa8], esi
mov eax, dword [esi + 0xa0]
inc eax
jmp 0x100b5b4b
xor eax, eax
mov dword [ecx + 0xa0], eax
mov esi, ecx
mov dword [ebx + 0x44], esi
mov eax, 0x4d
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp - 0x230]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x250]
shr eax, 0x10
and eax, 7
dec eax
cmp eax, 5
ja case.default.0x100b5b97
jmp dword [eax*4 + 0x100b625c]
mov cl, 3
jmp 0x100b5bb8
mov cl, 5
jmp 0x100b5bb8
mov cl, 1
jmp 0x100b5bb8
mov cl, 6
jmp 0x100b5bb8
mov cl, 2
jmp 0x100b5bb8
mov cl, 4
jmp 0x100b5bb8
xor cl, cl
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 0x21c]
mov byte [eax + 0x1a], cl
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x50]
shl eax, 0x18
xor eax, dword [ecx + 0x18]
and eax, 0x7000000
xor dword [ecx + 0x18], eax
xor ecx, ecx
mov eax, dword [ebx + 0x44]
mov word [eax + 0x18], cx
jmp 0x100b5e0a
mov eax, 0x4d
inc edi
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
push 0x10
push 0xb4
mov dword [ebp - 0x220], edi
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp + eax*4 - 0x19c]
inc eax
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
mov esi, dword [ebx + 0x44]
call fcn.10434a32
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x100b5c66
call fcn.10150910
mov edx, ecx
test esi, esi
je 0x100b5c5c
mov dword [esi + 0xa4], ecx
mov dword [ecx + 0xa8], esi
mov eax, dword [esi + 0xa0]
inc eax
jmp 0x100b5c5e
xor eax, eax
mov dword [edx + 0xa0], eax
mov esi, ecx
mov dword [ebx + 0x44], esi
mov eax, 0x4a
mov word [esi + 0x10], ax
mov ecx, dword [ebx + 0x44]
mov esi, dword [ebp - 0x248]
mov eax, dword [ecx + 0x2c]
mov edx, dword [ebp + esi*4 - 0x19c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov eax, edx
mov ecx, dword [ebx + 0x44]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
lea eax, [edx + 1]
mov edx, dword [ebp - 0x21c]
mov dword [ebp + esi*4 - 0x19c], eax
jmp 0x100b5e0a
mov edx, dword [ebp - 0x248]
mov eax, 0x4a
mov word [esi + 0x10], ax
dec edx
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0x248], edx
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc6
or eax, 6
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebp + edx*4 - 0x198]
mov edx, dword [ebp - 0x21c]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
jmp 0x100b5e0a
mov eax, dword [ebp - 0x250]
and cl, 0xfd
shr eax, 0x10
and eax, 7
mov byte [ebx + 0x3c], cl
dec eax
cmp eax, 5
ja case.default.0x100b5d16
jmp dword [eax*4 + 0x100b6274]
push 0xd
jmp 0x100b5d33
push 0xf
jmp 0x100b5d33
push 0xb
jmp 0x100b5d33
push 0xa
jmp 0x100b5d33
push 0xe
jmp 0x100b5d33
push 0xc
mov ecx, ebx
call fcn.100b2650
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 0x21c]
or dword [eax + 0x18], 0x40000000
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x54]
shl eax, 0x1b
xor eax, dword [ecx + 0x18]
and eax, 0x38000000
xor dword [ecx + 0x18], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x1c]
and eax, 0xffffffcc
or eax, 0xc
mov dword [ecx + 0x1c], eax
jmp 0x100b5e0a
push 0x59
mov ecx, ebx
call fcn.100b2650
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x3c]
shl eax, 2
sar eax, 8
add al, byte [ebx + 0x28]
mov byte [ecx + 0x12], al
cmp byte [ebx + 0x29], 0
je 0x100b5d97
xor cl, cl
jmp 0x100b5d9d
mov eax, dword [ebx + 0x44]
mov cl, byte [eax + 0x12]
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 0x21c]
mov byte [eax + 0x13], cl
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x3c]
shl eax, 2
sar eax, 8
mov al, byte [ebp + eax*4 - 0x14]
mov byte [ecx + 0x15], al
jmp 0x100b5e0a
mov eax, dword [ebp - 0x25c]
dec edi
mov dword [ebp - 0x220], edi
mov byte [ebp - 0x221], 0
movzx eax, word [eax + 2]
and eax, 0x7fff
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x21c]
mov dword [ebx + 0x4c], eax
jmp 0x100b5e0a
cmp eax, 0xffff
jne case.default.0x100b442f
mov edx, dword [ebp - 0x21c]
mov eax, 0x5a
mov word [esi + 0x10], ax
mov byte [ebp - 0x241], 1
jmp 0x100b5e0a
mov edx, eax
mov ecx, dword [ebx + 0x44]
mov esi, ecx
movups xmm0, xmmword [ecx + 0x1c]
movups xmmword [ebp - 0x240], xmm0
psrldq xmm0, 0xc
movd eax, xmm0
test eax, 0x1000000
je 0x100b6086
mov eax, dword [edx*4 + 0x10f31128]
cmp eax, 1
je 0x100b5e43
cmp eax, 2
jne 0x100b6086
mov esi, dword [ebx + 0x1c]
add esi, dword [ebp - 0x24c]
add esi, dword [ebp - 0x22c]
mov edi, dword [ebx + 0x14]
mov eax, dword [ebp - 0x240]
and edi, 0xffffff
shl eax, 2
shl esi, 6
sar eax, 8
sub esi, 0x40
push 0x10
shl edi, 6
or esi, 2
push 0xb4
mov dword [ebp - 0x25c], eax
or edi, 2
mov dword [ebp - 0x21c], ecx
call fcn.10434a32
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x100b5e9f
mov ecx, dword [ebp - 0x21c]
jmp 0x100b5ed1
call fcn.10150910
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x100b5ec3
mov dword [eax + 0xa4], ecx
mov dword [ecx + 0xa8], eax
mov eax, dword [eax + 0xa0]
inc eax
jmp 0x100b5ec5
xor eax, eax
mov dword [ecx + 0xa0], eax
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebx + 0x44]
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
mov ax, word [edx + 0x10]
mov word [ecx + 0x10], ax
movzx eax, byte [edx + 0x12]
mov byte [ecx + 0x12], al
movzx eax, byte [edx + 0x13]
mov byte [ecx + 0x13], al
movzx eax, byte [edx + 0x14]
mov byte [ecx + 0x14], al
movzx eax, byte [edx + 0x15]
mov byte [ecx + 0x15], al
mov eax, dword [edx + 0x14]
xor eax, dword [ecx + 0x14]
and eax, 0x10000
xor dword [ecx + 0x14], eax
mov eax, dword [ecx + 0x14]
mov ecx, dword [edx + 0x14]
xor ecx, eax
and ecx, 0x20000
xor ecx, eax
mov eax, dword [ebp - 0x21c]
mov dword [eax + 0x14], ecx
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0x21c]
mov dword [ecx + 0x18], eax
movups xmm0, xmmword [edx + 0x1c]
movups xmmword [ecx + 0x1c], xmm0
movups xmm0, xmmword [edx + 0x2c]
movups xmmword [ecx + 0x2c], xmm0
movups xmm0, xmmword [edx + 0x3c]
movups xmmword [ecx + 0x3c], xmm0
movups xmm0, xmmword [edx + 0x4c]
movups xmmword [ecx + 0x4c], xmm0
movups xmm0, xmmword [edx + 0x60]
movups xmmword [ecx + 0x60], xmm0
movups xmm0, xmmword [edx + 0x70]
movups xmmword [ecx + 0x70], xmm0
movups xmm0, xmmword [edx + 0x80]
movups xmmword [ecx + 0x80], xmm0
movups xmm0, xmmword [edx + 0x90]
movups xmmword [ecx + 0x90], xmm0
mov eax, dword [edx + 0xa0]
mov dword [ecx + 0xa0], eax
lea ecx, [eax - 1]
mov eax, dword [ebx + 0x44]
mov dword [eax + 0xa0], ecx
mov ecx, 1
mov eax, dword [ebx + 0x44]
mov word [eax + 0x10], cx
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x14], cl
mov ecx, dword [ebx + 0x44]
mov eax, dword [ecx + 0x2c]
and eax, 0xffffffc4
or eax, 4
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x24]
add eax, dword [ebp - 0x25c]
shl eax, 6
xor eax, dword [ecx + 0x2c]
and eax, 0x3fffffc0
xor dword [ecx + 0x2c], eax
mov ecx, dword [ebx + 0x44]
movzx eax, byte [ebx + 0x20]
shl eax, 0x16
or dword [ecx + 0x2c], eax
mov eax, dword [ebx + 0x44]
or dword [eax + 0x38], 0x8000000
mov eax, esi
mov ecx, dword [ebx + 0x44]
sar eax, 6
shl esi, 0x17
xor eax, dword [ecx + 0x30]
and eax, 0x7fffff
xor dword [ecx + 0x30], eax
mov eax, dword [ebx + 0x44]
xor esi, dword [eax + 0x30]
and esi, 0x1f800000
xor dword [eax + 0x30], esi
mov eax, dword [ebx + 0x44]
mov esi, dword [ebp - 0x21c]
and dword [eax + 0x30], 0x1fffffff
mov eax, dword [ebx + 0x44]
mov dword [eax + 0x34], 0
mov eax, dword [ebx + 0x44]
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], 0x3800000
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0x1000f
mov eax, dword [ebx + 0x44]
mov byte [eax + 0x28], 1
mov eax, dword [ebx + 0x18]
or dword [esi + 0x28], 0x1000000
and eax, 0xffffff
shl eax, 6
or eax, 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x1c], eax
mov eax, edi
shr eax, 6
and edi, 0x3f
shl edi, 0x17
and eax, 0x7fffff
or eax, edi
mov edi, dword [ebp - 0x220]
mov dword [esi + 0x20], eax
inc edi
mov dword [ebx + 0x44], esi
mov edx, dword [ebp - 0x258]
inc edi
cmp byte [ebp - 0x241], 0
mov dword [ebp - 0x220], edi
je 0x100b4370
mov ecx, edx
mov edx, dword [ebp - 0x228]
mov dword [edx + 4], ecx
mov dword [ebx + 0x44], ecx
test ecx, ecx
je 0x100b60f4
movzx eax, word [ecx + 0x10]
cmp ax, 0x4d
je 0x100b60e9
cmp ax, 0x41
je 0x100b60e9
cmp ax, 0x57
je 0x100b60e9
cmp ax, 0x58
je 0x100b60e9
cmp ax, 0x43
je 0x100b60e9
cmp ax, 0x44
je 0x100b60e9
mov ecx, dword [ecx + 0xa4]
mov dword [ebx + 0x44], ecx
test ecx, ecx
jne 0x100b60b2
jmp 0x100b60f4
or byte [ebx + 0x3c], 0x40
mov dword [ebx + 0x44], 0
mov ecx, dword [ebp - 4]
mov dword [edx], edi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0x18