Function at 0x6a1281
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [0xee37e4]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x104], edi
mov esi, ecx
mov dword [ebp - 0x124], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp + 0x14]
xor ecx, ecx
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp + 0x18]
mov ebx, ecx
push 0x78
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x9c]
push ecx
push eax
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0x134], ecx
call fcn.006f59b0
mov edx, dword [ebp - 0xf4]
add esp, 0xc
and dword [ebp - 0xd8], ebx
mov ecx, esi
and dword [ebp - 0xcc], ebx
push dword [ebp - 0xe0]
call fcn.0063166d
mov dword [ebp - 0x11c], eax
pop ecx
test eax, eax
jne 0x6a137b
push str.failed_to_allocate_word_stream_when_decoding_symbol_dictionary
push dword [edi]
push 2
push esi
call fcn.00630eb2
add esp, 0x10
xor eax, eax
jmp 0x6a26b6
mov edx, eax
mov ecx, esi
call fcn.006dc298
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x6a13ae
push str.failed_to_allocate_arithmetic_coding_state_when_decoding_symbol_dictionary
push dword [edi]
push 2
push esi
call fcn.00630eb2
mov eax, dword [esi]
push dword [ebp - 0x11c]
push eax
call dword [eax + 4]
add esp, 0x18
jmp 0x6a1374
mov edx, dword [ebp - 0xc0]
xor ecx, ecx
mov byte [ebp - 0xc5], bl
mov eax, dword [edx + 0x10]
add eax, dword [edx + 8]
adc ecx, ecx
test ecx, ecx
jb 0x6a141d
ja 0x6a13cf
cmp eax, 1
jbe 0x6a141d
mov edi, eax
mov edx, ecx
xor ecx, ecx
inc bl
movzx eax, bl
mov esi, ecx
bts esi, eax
cmp eax, 0x20
cmovae ecx, esi
xor esi, ecx
cmp eax, 0x40
mov eax, esi
mov dword [ebp - 0xd0], esi
cmovae ecx, eax
cmp ecx, edx
jb 0x6a13d3
ja 0x6a13ff
cmp eax, edi
jb 0x6a13d3
mov esi, dword [ebp - 0x124]
mov edi, dword [ebp - 0x104]
mov edx, dword [ebp - 0xc0]
mov byte [ebp - 0xc5], bl
mov ebx, dword [ebp - 0xf8]
cmp dword [edx], 0
je 0x6a1567
push str.huffman_coded_symbol_dictionary
push dword [edi]
push 0
push esi
call fcn.00630eb2
mov edx, dword [ebp - 0x11c]
add esp, 0x10
mov ecx, esi
call fcn.006a04b3
mov edx, 0xe64e24
mov dword [ebp - 0xc4], eax
mov ecx, esi
call fcn.006a0933
mov edx, 0xe64e24
mov dword [ebp - 0x60], eax
mov ecx, esi
call fcn.006a0933
mov edx, 0xe65594
mov dword [ebp - 0x5c], eax
mov ecx, esi
call fcn.006a0933
cmp dword [ebp - 0xc4], 0
mov dword [ebp - 0x58], eax
je 0x6a155d
cmp dword [ebp - 0x60], 0
je 0x6a155d
cmp dword [ebp - 0x5c], 0
je 0x6a155d
test eax, eax
je 0x6a155d
mov eax, dword [ebp - 0xc0]
cmp dword [eax + 4], 0
jne 0x6a14e8
mov edx, dword [eax + 0x10]
mov ecx, dword [esi]
push 4
call fcn.00630e29
mov dword [ebp - 0x108], eax
test eax, eax
mov eax, dword [ebp - 0xc0]
pop ecx
jne 0x6a16a0
push dword [eax + 0x10]
push str.failed_to_allocate_symbol_widths___u_
push dword [edi]
push 3
push esi
call fcn.00630eb2
add esp, 0x14
jmp 0x6a252f
mov edx, 0xe670d4
mov ecx, esi
call fcn.006a0933
mov edx, 0xe67224
mov dword [ebp - 0x74], eax
mov ecx, esi
call fcn.006a0933
mov edx, 0xe66584
mov dword [ebp - 0x70], eax
mov ecx, esi
call fcn.006a0933
mov edx, 0xe64e24
mov dword [ebp - 0x6c], eax
mov ecx, esi
call fcn.006a0933
mov edx, 0xe64e24
mov dword [ebp - 0x68], eax
mov ecx, esi
call fcn.006a0933
cmp dword [ebp - 0x74], 0
mov dword [ebp - 0x64], eax
je 0x6a1553
cmp dword [ebp - 0x70], 0
je 0x6a1553
cmp dword [ebp - 0x6c], 0
je 0x6a1553
cmp dword [ebp - 0x68], 0
je 0x6a1553
test eax, eax
jne 0x6a169a
push str.out_of_memory_creating_text_region_huffman_decoder_entries
jmp 0x6a2522
push str.failed_to_allocate_for_symbol_bitmap
jmp 0x6a2522
mov ecx, esi
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x114], eax
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x10c], eax
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x120], eax
call fcn.006dcf14
cmp dword [ebp - 0x114], 0
mov dword [ebp - 0x138], eax
je 0x6a251d
cmp dword [ebp - 0x10c], 0
je 0x6a251d
cmp dword [ebp - 0x120], 0
je 0x6a251d
test eax, eax
je 0x6a251d
mov dl, byte [ebp - 0xc5]
mov ecx, esi
call fcn.006dd14e
mov ecx, esi
mov dword [ebp - 0x44], eax
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x34], eax
call fcn.006dcf14
cmp dword [ebp - 0x44], 0
mov dword [ebp - 0x30], eax
je 0x6a2516
cmp dword [ebp - 0x34], 0
je 0x6a2516
test eax, eax
je 0x6a2516
mov eax, dword [ebp - 0xc0]
cmp dword [eax + 4], 0
je 0x6a16a0
mov ecx, esi
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x54], eax
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x50], eax
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x4c], eax
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x48], eax
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x40], eax
call fcn.006dcf14
mov ecx, esi
mov dword [ebp - 0x3c], eax
call fcn.006dcf14
cmp dword [ebp - 0x54], 0
mov dword [ebp - 0x38], eax
je 0x6a1688
cmp dword [ebp - 0x50], 0
je 0x6a1688
cmp dword [ebp - 0x4c], 0
je 0x6a1688
cmp dword [ebp - 0x48], 0
je 0x6a1688
cmp dword [ebp - 0x40], 0
je 0x6a1688
cmp dword [ebp - 0x3c], 0
je 0x6a1688
test eax, eax
jne 0x6a169a
push str.failed_to_allocate_text_region_arith_decoder_contexts
push dword [edi]
push 2
push esi
call fcn.00630eb2
add esp, 0x10
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov ecx, esi
movaps xmm0, xmmword [0xed0da0]
and dword [ebp - 0x84], 0
mov dword [ebp - 0x9c], eax
xor eax, eax
inc eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0xc0]
movups xmmword [ebp - 0x94], xmm0
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc0]
mov edx, dword [eax + 0x10]
call fcn.006a1033
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x6a1706
mov eax, dword [ebp - 0xc0]
push dword [eax + 0x10]
push str.failed_to_allocate_new_symbols___u_
push dword [edi]
push 2
jmp 0x6a14da
mov eax, dword [esi]
push 8
pop ecx
push ecx
push eax
call dword [eax]
mov dword [ebp - 0xfc], eax
pop ecx
pop ecx
test eax, eax
jne 0x6a1729
push str.Out_of_memory_allocating_dictionary_array
push dword [edi]
push 3
jmp 0x6a2526
mov eax, dword [ebp - 0xc0]
mov ecx, esi
mov edx, dword [eax + 8]
call fcn.006a1033
mov edx, dword [ebp - 0xfc]
mov dword [edx], eax
test eax, eax
jne 0x6a174f
push str.out_of_memory_allocating_symbol_dictionary
jmp 0x6a2522
mov ebx, dword [ebp - 0xc0]
xor ecx, ecx
cmp dword [ebx + 8], ecx
jbe 0x6a178c
mov edi, dword [ebp - 0xfc]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 4]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x6a1772
inc dword [edx + 0x10]
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov dword [eax + ecx*4], edx
inc ecx
cmp ecx, dword [ebx + 8]
jb 0x6a1762
mov edi, dword [ebp - 0x104]
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xe8]
mov dword [edx + 4], eax
cmp dword [ebx + 0x10], 0
jbe 0x6a211d
cmp dword [ebx], 0
je 0x6a17ca
mov edx, dword [ebx + 0x18]
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
push eax
call fcn.006a0742
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x148], ecx
jmp 0x6a17f2
mov edx, dword [ebp - 0x114]
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 0xec]
mov ecx, esi
call fcn.006dcf54
pop ecx
pop ecx
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0xbc], eax
test eax, eax
js 0x6a22d7
jg 0x6a22d0
add dword [ebp - 0xd8], ecx
xor edx, edx
and dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xe4], eax
test ecx, ecx
js 0x6a22c5
push eax
push ecx
push str.decoding_height_class__d_with__d_syms_decoded
push dword [edi]
push edx
push esi
call fcn.00630eb2
add esp, 0x18
cmp dword [ebx], 0
je 0x6a186d
mov edx, dword [ebx + 0x1c]
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
push eax
call fcn.006a0742
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x140], ecx
jmp 0x6a1895
mov edx, dword [ebp - 0x10c]
lea eax, [ebp - 0x140]
push eax
push dword [ebp - 0xec]
mov ecx, esi
call fcn.006dcf54
pop ecx
pop ecx
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0xbc], eax
test eax, eax
js 0x6a22a6
jg 0x6a1df7
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebx + 0x10]
jae 0x6a1ded
mov edx, dword [ebp - 0xd4]
test ecx, ecx
jns 0x6a18ca
mov eax, ecx
neg eax
cmp edx, eax
jb 0x6a213f
test ecx, ecx
jle 0x6a18d8
mov eax, edx
not eax
cmp ecx, eax
ja 0x6a2160
add edx, ecx
mov ecx, dword [ebp - 0xdc]
mov eax, ecx
mov dword [ebp - 0xd4], edx
not eax
cmp edx, eax
ja 0x6a220b
add ecx, edx
cmp dword [ebx], 0
mov dword [ebp - 0xdc], ecx
je 0x6a1909
cmp dword [ebx + 4], 0
je 0x6a1da5
xor edx, edx
cmp dword [ebx + 4], edx
jne 0x6a1998
mov ecx, dword [ebx + 0x28]
test ecx, ecx
push 2
pop eax
push 8
mov dword [ebp - 0x20], ecx
pop ecx
cmove eax, ecx
mov dword [ebp - 0x24], edx
push eax
lea eax, [ebx + 0x2c]
mov dword [ebp - 0x1c], edx
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x18], edx
push eax
call fcn.006f6760
mov edx, dword [ebp - 0xd4]
add esp, 0xc
mov ecx, esi
push dword [ebp - 0xd8]
call fcn.00680ee2
mov ebx, eax
mov dword [ebp - 0xb8], ebx
pop ecx
test ebx, ebx
je 0x6a2171
push dword [ebp - 0x14c]
lea eax, [ebp - 0x24]
mov edx, edi
push ebx
push dword [ebp - 0xec]
mov ecx, esi
push eax
call fcn.006a7dc7
add esp, 0x10
mov dword [ebp - 0xbc], eax
test eax, eax
jns 0x6a1a8b
push str.failed_to_decode_generic_region
jmp 0x6a2176
cmp dword [ebx], edx
je 0x6a19c0
mov edx, dword [ebx + 0x24]
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
push eax
call fcn.006a0742
pop ecx
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x130], eax
jmp 0x6a19e4
mov edx, dword [ebp - 0x138]
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0xec]
mov ecx, esi
call fcn.006dcf54
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x130]
test ecx, ecx
js 0x6a2201
jg 0x6a21f3
test eax, eax
jle 0x6a21ec
push eax
push str.aggregate_symbol_coding___d_instances_
push dword [edi]
push 0
push esi
call fcn.00630eb2
mov eax, dword [ebp - 0x130]
add esp, 0x14
cmp eax, 1
jbe 0x6a1aae
push dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
mov ecx, esi
mov dword [ebp - 0x80], eax
call fcn.00680ee2
mov ebx, eax
mov dword [ebp - 0xb8], ebx
pop ecx
test ebx, ebx
je 0x6a218f
push dword [ebp - 0x11c]
lea eax, [ebp - 0x9c]
mov edx, edi
push dword [ebp - 0xec]
mov ecx, esi
push dword [ebp - 0x144]
push dword [ebp - 0xe0]
push dword [ebp - 0xf4]
push ebx
push 2
push dword [ebp - 0xfc]
push eax
call fcn.006a45e3
add esp, 0x24
mov dword [ebp - 0xbc], eax
test eax, eax
js 0x6a2188
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd4]
mov eax, dword [eax + 4]
mov dword [eax + ecx*4], ebx
mov ebx, dword [ebp - 0xc0]
jmp 0x6a1dab
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0xd0], ecx
cmp dword [ebx], ecx
je 0x6a1b80
movzx edx, byte [ebp - 0xc5]
lea eax, [ebp - 0xb8]
mov ecx, dword [ebp - 0xc4]
push eax
call fcn.006a0679
mov edx, dword [ebp - 0x60]
mov ebx, eax
pop ecx
mov ecx, dword [ebp - 0xc4]
lea eax, [ebp - 0x110]
push eax
mov dword [ebp - 0x13c], ebx
call fcn.006a0742
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0xf8]
pop ecx
mov ecx, dword [ebp - 0xc4]
push eax
call fcn.006a0742
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x118]
pop ecx
mov ecx, dword [ebp - 0xc4]
push eax
call fcn.006a0742
pop ecx
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x100], eax
call fcn.006a053b
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xf8]
jmp 0x6a1bdd
mov ebx, dword [ebp - 0xec]
lea eax, [ebp - 0x13c]
mov edx, dword [ebp - 0x44]
mov ecx, esi
push eax
push ebx
call fcn.006dd1e9
mov edx, dword [ebp - 0x34]
mov ecx, esi
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x128]
push eax
push ebx
call fcn.006dcf54
mov edx, dword [ebp - 0x30]
mov ecx, esi
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x12c]
push eax
push ebx
call fcn.006dcf54
mov ebx, dword [ebp - 0x13c]
add esp, 0x18
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0xf8], eax
test ecx, ecx
js 0x6a21e2
test edx, edx
js 0x6a21e2
test eax, eax
js 0x6a21e2
mov eax, dword [ebp - 0x118]
test eax, eax
js 0x6a21e2
cmp dword [ebp - 0xd0], 0
jl 0x6a21e2
test ecx, ecx
jg 0x6a21db
test edx, edx
jg 0x6a21db
cmp dword [ebp - 0xf8], 0
jg 0x6a21db
test eax, eax
jg 0x6a21db
cmp dword [ebp - 0xd0], 0
jg 0x6a21db
mov eax, dword [ebp - 0xbc]
add eax, dword [ebp - 0xcc]
cmp ebx, eax
jae 0x6a21c3
push dword [ebp - 0x12c]
push dword [ebp - 0x128]
push ebx
push str.symbol_is_a_refinement_of_ID__d_with_the_refinement_applied_at___d__d_
push dword [edi]
push 0
push esi
call fcn.00630eb2
mov edx, dword [ebp - 0xd4]
add esp, 0x1c
mov ecx, esi
push dword [ebp - 0xd8]
call fcn.00680ee2
mov ebx, eax
mov dword [ebp - 0xb8], ebx
pop ecx
test ebx, ebx
je 0x6a218f
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x13c]
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xbc]
cmp edx, eax
jae 0x6a1cc9
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx*4]
jmp 0x6a1cdf
mov ecx, edx
sub ecx, eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x6a21a4
push dword [ebp - 0x144]
mov eax, dword [ebp - 0x128]
mov edx, edi
and dword [ebp - 0xa4], 0
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 0x38]
mov ecx, esi
push ebx
push dword [ebp - 0xec]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xb4]
push eax
call fcn.006a41ce
add esp, 0x10
mov dword [ebp - 0xbc], eax
test eax, eax
js 0x6a219d
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xcc]
and dword [ebp - 0xb8], 0
mov eax, dword [edx + 4]
mov dword [eax + ecx*4], ebx
mov ebx, dword [ebp - 0xc0]
cmp dword [ebx], 0
je 0x6a1dbf
mov ecx, dword [ebp - 0x100]
test ecx, ecx
jne 0x6a1d84
mov ecx, dword [ebp - 0xcc]
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 8]
imul ecx, dword [eax + 4]
mov edx, ecx
mov ecx, dword [ebp - 0xc4]
call fcn.006a05da
mov dword [ebp - 0xbc], eax
test eax, eax
js 0x6a2196
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xcc]
cmp dword [ebx], 0
je 0x6a1dbf
cmp dword [ebx + 4], 0
jne 0x6a1dbf
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], edx
push dword [ebp - 0xd8]
inc ecx
push dword [ebp - 0xd4]
mov dword [ebp - 0xcc], ecx
push dword [ebx + 0x10]
push ecx
push str.decoded_symbol__u_of__u___ux_u_
push dword [edi]
push 0
push esi
call fcn.00630eb2
add esp, 0x20
jmp 0x6a1842
push 2
pop eax
mov ecx, str.no_OOB_signaling_end_of_height_class__d__continuing
jmp 0x6a1dfe
xor eax, eax
mov ecx, str.OOB_when_decoding_DW_signals_end_of_height_class__d
push dword [ebp - 0xd8]
push ecx
push dword [edi]
push eax
push esi
call fcn.00630eb2
add esp, 0x14
cmp dword [ebx], 0
je 0x6a210e
cmp dword [ebx + 4], 0
jne 0x6a210e
mov edx, dword [ebx + 0x20]
lea eax, [ebp - 0xbc]
mov ebx, dword [ebp - 0xc4]
mov ecx, ebx
push eax
call fcn.006a0742
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xbc]
pop ecx
test eax, eax
js 0x6a229f
jg 0x6a2295
mov ecx, ebx
call fcn.006a053b
test eax, eax
jns 0x6a1e73
push str.failed_to_skip_to_next_byte_when_decoding_collective_bitmap
push dword [edi]
push 2
push esi
call fcn.00630eb2
add esp, 0x10
push dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
mov ecx, esi
call fcn.00680ee2
mov ebx, eax
mov dword [ebp - 0xb8], ebx
pop ecx
test ebx, ebx
je 0x6a228b
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [eax + 8]
shr edx, 3
test ecx, ecx
jne 0x6a1faa
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xf4]
add ecx, edx
add eax, ecx
test byte [ebx], 7
mov dword [ebp - 0xbc], eax
push 0
pop eax
setne al
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx]
shr eax, 3
add dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xe0]
cmp eax, ecx
jb 0x6a2225
mov edi, dword [ebp - 0xc4]
mov ecx, dword [ebx + 4]
imul ecx, dword [ebp - 0xd4]
sub eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x104]
sub eax, edx
mov dword [ebp - 0xd0], ecx
cmp eax, ecx
jb 0x6a221f
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xe4]
push ecx
push eax
push dword [ebx + 4]
push dword [ebx]
push str.reading__dx_d_uncompressed_bitmap_for__d_symbols___li_bytes_
push dword [edi]
push 0
push esi
call fcn.00630eb2
and dword [ebp - 0x100], 0
add esp, 0x20
cmp dword [ebx + 4], 0
jbe 0x6a203b
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0x100]
mov eax, dword [ebp - 0xbc]
push esi
push eax
push dword [ebp - 0xdc]
call fcn.006f6760
mov eax, dword [ebp - 0xdc]
add esp, 0xc
add eax, dword [ebx + 8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xbc]
add eax, esi
inc edi
mov dword [ebp - 0xbc], eax
cmp edi, dword [ebx + 4]
jb 0x6a1f66
mov esi, dword [ebp - 0x124]
mov edi, dword [ebp - 0x104]
jmp 0x6a203b
mov eax, dword [eax + 0xc]
add eax, edx
cmp dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
jb 0x6a2274
cmp eax, ecx
jb 0x6a2274
mov esi, dword [ebp - 0xc4]
sub eax, dword [esi + 0xc]
mov esi, dword [ebp - 0x124]
sub eax, edx
cmp eax, ecx
jb 0x6a226e
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xe4]
push ecx
push eax
push dword [ebx + 4]
push dword [ebx]
push str.reading__dx_d_collective_bitmap_for__d_symbols___li_bytes_
push dword [edi]
push 0
push esi
call fcn.00630eb2
mov ecx, dword [ebp - 0xc4]
add esp, 0x20
mov edx, edi
mov eax, dword [ecx + 8]
shr eax, 3
add eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xf4]
add eax, ecx
push ebx
push dword [ebp - 0xd0]
push eax
push ecx
mov ecx, esi
call fcn.006dcd75
add esp, 0x10
test eax, eax
jne 0x6a2264
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xc4]
call fcn.006a05da
mov dword [ebp - 0xbc], eax
test eax, eax
js 0x6a225a
and dword [ebp - 0xdc], 0
mov ecx, dword [ebp - 0xe4]
cmp ecx, dword [ebp - 0xcc]
jae 0x6a20ff
mov eax, dword [ebp - 0x108]
push dword [ebp - 0xd8]
mov edx, dword [eax + ecx*4]
mov ecx, esi
call fcn.00680ee2
mov ebx, eax
pop ecx
test ebx, ebx
je 0x6a2250
mov ecx, dword [ebp - 0xdc]
mov edx, ebx
push 4
push 0
neg ecx
push ecx
push dword [ebp - 0xb8]
call fcn.00681442
add esp, 0x10
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x6a2246
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xdc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 4]
mov dword [eax + ecx*4], ebx
inc ecx
mov dword [ebp - 0xe4], ecx
cmp ecx, dword [ebp - 0xcc]
jb 0x6a2073
mov ebx, dword [ebp - 0xb8]
mov edx, ebx
mov ecx, esi
call fcn.00680f9e
mov ebx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebx + 0x10]
jb 0x6a179f
mov edx, dword [ebx + 0x14]
mov ecx, esi
call fcn.006a1033
mov dword [ebp - 0xf0], eax
test eax, eax
jne 0x6a22f7
push str.failed_to_allocate_symbols_exported_from_symbols_dictionary
jmp 0x6a22dc
mov eax, dword [ebp - 0xcc]
inc eax
push eax
push edx
push ecx
push str.DW_value___d__would_make_SYMWIDTH___u__negative_at_symbol__u
push dword [edi]
push 3
push esi
call fcn.00630eb2
add esp, 0x1c
jmp 0x6a22b8
mov eax, dword [ebp - 0xcc]
inc eax
push eax
push edx
push ecx
push str.DW_value___d__would_make_SYMWIDTH___u__too_large_at_symbol__u
jmp 0x6a214e
push str.failed_to_allocate_image
push dword [edi]
push 2
push esi
call fcn.00630eb2
add esp, 0x10
jmp 0x6a22f0
push str.failed_to_decode_text_region
jmp 0x6a2176
push str.failed_to_allocate_symbol_image
jmp 0x6a2176
push str.failed_to_advance_after_huffman_decoding_in_refinement_region
jmp 0x6a2176
push str.failed_to_decode_refinement_region
jmp 0x6a2176
mov eax, dword [ebp - 0xbc]
push eax
push edx
push str.missing_glyph__d__d
push dword [edi]
push 3
push esi
call fcn.00630eb2
add esp, 0x18
jmp 0x6a22f0
push ebx
push str.refinement_references_unknown_symbol__d
push dword [edi]
push 3
push esi
call fcn.00630eb2
add esp, 0x14
jmp 0x6a22b8
push str.OOB_in_single_refinement_aggregate_coded_symbol_data
jmp 0x6a21f8
push str.failed_to_decode_data
jmp 0x6a22ab
push str.invalid_number_of_symbols_in_aggregate_glyph
jmp 0x6a21f8
push str.OOB_in_number_of_symbols_in_aggregate_glyph
push dword [edi]
push 3
jmp 0x6a22af
push str.failed_to_decode_number_of_symbols_in_aggregate_glyph
jmp 0x6a22ab
mov eax, dword [ebp - 0xcc]
inc eax
push eax
push ecx
push edx
push str.SYMWIDTH_value___u__would_make_TOTWIDTH___u__too_large_at_symbol__u
jmp 0x6a214e
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xc4]
sub eax, dword [ecx + 0xc]
sub eax, edx
push eax
mov eax, dword [ebx + 4]
imul eax, dword [ebp - 0xd4]
push eax
push str.not_enough_data_for_decoding_uncompressed___d__li_
jmp 0x6a21b1
push str.failed_to_compose_image_into_glyph
jmp 0x6a2522
push str.failed_to_copy_the_collective_bitmap_into_symbol_dictionary
jmp 0x6a2522
push str.failed_to_advance_after_huffman_decoding_MMR_bitmap_image
jmp 0x6a2176
push str.failed_to_decode_MMR_coded_generic_region
jmp 0x6a2176
mov eax, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xc4]
sub eax, dword [ebx + 0xc]
sub eax, edx
push eax
push ecx
push str.not_enough_data_for_decoding___li__li_
jmp 0x6a21b1
push str.failed_to_allocate_collective_bitmap_image
jmp 0x6a2176
push str.OOB_obtained_when_decoding_size_of_collective_bitmap
jmp 0x6a21f8
push str.error_decoding_size_of_collective_bitmap
jmp 0x6a22ab
push str.failed_to_decode_DW
push dword [edi]
push 2
push esi
call fcn.00630eb2
add esp, 0x10
xor ebx, ebx
and dword [ebp - 0xb8], ebx
jmp 0x6a252f
push str.invalid_HCHEIGHT_value
push dword [edi]
push 3
jmp 0x6a22e0
push str.OOB_decoding_height_class_delta
jmp 0x6a22dc
push str.failed_to_decode_height_class_delta
push dword [edi]
push 2
push esi
call fcn.00630eb2
add esp, 0x10
and dword [ebp - 0xb8], 0
xor ebx, ebx
jmp 0x6a252f
mov eax, dword [ebx + 0x10]
xor ecx, ecx
add eax, dword [ebx + 8]
mov ebx, ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xb8], ecx
je 0x6a252f
mov ebx, dword [ebp - 0xc0]
cmp dword [ebx], ecx
je 0x6a2354
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
push eax
call fcn.006a0742
mov edx, eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xf4], edx
jmp 0x6a237b
mov edx, dword [ebp - 0x120]
lea eax, [ebp - 0xf4]
push eax
push dword [ebp - 0xec]
mov ecx, esi
call fcn.006dcf54
mov edx, dword [ebp - 0xf4]
pop ecx
mov dword [ebp - 0xbc], eax
pop ecx
test eax, eax
js 0x6a24eb
jg 0x6a24e0
test edx, edx
jne 0x6a23c6
mov eax, dword [ebp - 0x134]
inc eax
mov dword [ebp - 0x134], eax
cmp eax, 0x3e8
jne 0x6a23ce
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
push edx
push str.runlength_too_small_in_export_symbol_table___u__0_i___u_limit___u_
push dword [edi]
push 3
push esi
call fcn.00630eb2
add esp, 0x1c
jmp 0x6a24fd
xor eax, eax
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], ecx
sub dword [ebp - 0xd0], eax
cmp edx, dword [ebp - 0xd0]
jbe 0x6a2410
push ecx
add eax, edx
push eax
push str.exporting_more_symbols_than_available___u____u___capping
push dword [edi]
push 2
push esi
call fcn.00630eb2
mov edx, dword [ebp - 0xd0]
add esp, 0x18
mov dword [ebp - 0xf4], edx
mov ecx, dword [ebp - 0xd8]
test ecx, ecx
je 0x6a2452
mov eax, dword [ebp - 0xe4]
add eax, edx
cmp eax, dword [ebx + 0x14]
jbe 0x6a2452
push dword [ebx + 0x14]
push eax
push str.exporting_more_symbols_than_may_be_exported___u____u___capping
push dword [edi]
push 2
push esi
call fcn.00630eb2
mov edx, dword [ebx + 0x14]
add esp, 0x18
sub edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xf4], edx
test edx, edx
je 0x6a24be
mov esi, dword [ebp - 0xe0]
test ecx, ecx
je 0x6a24a6
cmp esi, dword [ebx + 8]
jae 0x6a2470
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi*4]
jmp 0x6a2481
mov eax, dword [ebp - 0xe8]
mov ecx, esi
sub ecx, dword [ebx + 8]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x6a2488
inc dword [ecx + 0x10]
mov eax, dword [ebp - 0xf0]
mov edi, dword [ebp - 0xe4]
inc dword [ebp - 0xe4]
mov eax, dword [eax + 4]
mov dword [eax + edi*4], ecx
mov ecx, dword [ebp - 0xd8]
inc esi
sub edx, 1
jne 0x6a245c
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0xe0], esi
mov esi, dword [ebp - 0x124]
mov eax, dword [ebp - 0xdc]
xor ecx, 1
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xe0], eax
jae 0x6a22e9
xor ecx, ecx
jmp 0x6a232b
push str.OOB_when_decoding_runlength_for_exported_symbols
push dword [edi]
push 3
jmp 0x6a24f4
push str.failed_to_decode_runlength_for_exported_symbols
push dword [edi]
push 2
push esi
call fcn.00630eb2
add esp, 0x10
mov edx, dword [ebp - 0xf0]
mov ecx, esi
call fcn.006a10aa
and dword [ebp - 0xf0], 0
jmp 0x6a22e9
push str.failed_to_allocate_text_region_arithmetic_decoder_contexts
jmp 0x6a2522
push str.failed_to_allocate_symbol_bitmap
push dword [edi]
push 2
push esi
call fcn.00630eb2
add esp, 0x10
mov edx, ebx
mov ecx, esi
call fcn.00680f9e
mov edx, dword [ebp - 0xb8]
mov ecx, esi
call fcn.00680f9e
mov ebx, dword [ebp - 0xfc]
test ebx, ebx
je 0x6a2565
mov edx, dword [ebx]
test edx, edx
je 0x6a255c
mov ecx, esi
call fcn.006a10aa
mov eax, dword [esi]
push ebx
push eax
call dword [eax + 4]
pop ecx
pop ecx
mov edx, dword [ebp - 0xe8]
mov ecx, esi
call fcn.006a10aa
mov ebx, dword [ebp - 0xc0]
cmp dword [ebx], 0
je 0x6a25f4
mov edx, dword [ebp - 0x58]
mov ecx, esi
call fcn.006a0cb7
mov edx, dword [ebp - 0x5c]
mov ecx, esi
call fcn.006a0cb7
mov edx, dword [ebp - 0x60]
mov ecx, esi
call fcn.006a0cb7
mov edx, dword [ebp - 0x64]
mov ecx, esi
call fcn.006a0cb7
mov edx, dword [ebp - 0x68]
mov ecx, esi
call fcn.006a0cb7
mov edx, dword [ebp - 0x6c]
mov ecx, esi
call fcn.006a0cb7
mov edx, dword [ebp - 0x70]
mov ecx, esi
call fcn.006a0cb7
mov edx, dword [ebp - 0x74]
mov ecx, esi
call fcn.006a0cb7
cmp dword [ebx + 4], 0
jne 0x6a25e1
mov eax, dword [esi]
push dword [ebp - 0x108]
push eax
call dword [eax + 4]
pop ecx
pop ecx
mov eax, dword [esi]
push dword [ebp - 0xc4]
push eax
call dword [eax + 4]
pop ecx
pop ecx
jmp 0x6a2695
mov eax, dword [esi]
push dword [ebp - 0x30]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x34]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x38]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x3c]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x40]
push eax
call dword [eax + 4]
mov edi, dword [ebp - 0x44]
add esp, 0x28
test edi, edi
je 0x6a263e
mov eax, dword [esi]
push dword [edi + 4]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push edi
push eax
call dword [eax + 4]
add esp, 0x10
mov eax, dword [esi]
push dword [ebp - 0x48]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x4c]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x50]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x54]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x138]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x120]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x10c]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x114]
push eax
call dword [eax + 4]
add esp, 0x40
mov eax, dword [esi]
push dword [ebp - 0xec]
push eax
call dword [eax + 4]
mov eax, dword [esi]
push dword [ebp - 0x11c]
push eax
call dword [eax + 4]
mov eax, dword [ebp - 0xf0]
add esp, 0x10
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006f3e28
leave
ret