Function at 0x102c74a0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc8
mov eax, dword [0x105be7d0]
xor eax, esp
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xd0]
push ebx
push ebp
mov dword [esp + 0x8c], eax
xor ebx, ebx
mov eax, dword [esp + 0xdc]
mov ebp, edx
push esi
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xe4]
push edi
mov edi, ecx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x60], eax
push 0xc
mov eax, dword [edi]
push eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0xb4], edi
mov eax, dword [eax]
mov dword [esp + 0xa4], esi
mov dword [esp + 0x50], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x90], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x2c], ebx
call eax
mov ecx, eax
add esp, 8
mov dword [esp + 0x84], ecx
test ecx, ecx
jne 0x102c75e6
push str.failed_to_allocate_Jbig2WordStreamBuf_in_jbig2_word_stream_buf_new
push 0xffffffffffffffff
push 3
push edi
call fcn.10283d90
push str.failed_to_allocate_ws_in_jbig2_decode_symbol_dict
push dword [ebp]
push 2
push edi
call fcn.10283d90
add esp, 0x20
xor eax, eax
jmp 0x102c7940
mov eax, dword [esp + 0x94]
mov edx, ecx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x30]
mov dword [ecx], 0x10284440
mov dword [ecx + 8], eax
mov ecx, edi
call fcn.102de240
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x102c7637
push str.failed_to_allocate_as_in_jbig2_decode_symbol_dict
push dword [ebp]
push 2
push edi
call fcn.10283d90
mov eax, dword [edi]
push dword [esp + 0x94]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x18
xor eax, eax
jmp 0x102c7940
cmp dword [esi], ebx
jne 0x102c7755
mov ecx, edi
call fcn.102de720
mov ecx, edi
mov dword [esp + 0x78], eax
call fcn.102de720
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.102de720
mov ecx, edi
mov dword [esp + 0x70], eax
call fcn.102de720
mov dword [esp + 0x90], eax
cmp dword [esp + 0x78], ebx
je 0x102c7740
cmp dword [esp + 0x64], ebx
je 0x102c7740
cmp dword [esp + 0x70], ebx
je 0x102c7740
test eax, eax
je 0x102c7740
cmp dword [esi + 4], ebx
je 0x102c77ff
mov ebp, dword [esi + 0x10]
xor ecx, ecx
add ebp, dword [esi + 8]
xor eax, eax
mov dword [esp + 0x4c], eax
test ecx, ecx
jl 0x102c76e4
jg 0x102c76b6
cmp ebp, 1
jbe 0x102c76e4
xor ebx, ebx
inc ebx
xor edx, edx
mov eax, ebx
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
test ecx, ecx
jl 0x102c76b8
jg 0x102c76da
cmp edx, ebp
jb 0x102c76b8
mov dword [esp + 0x4c], ebx
xor ebx, ebx
mov eax, dword [esp + 0x4c]
mov edx, eax
mov ecx, edi
call fcn.102de520
mov ebp, eax
mov ecx, edi
mov dword [esp + 0x44], ebp
call fcn.102de720
mov ecx, edi
mov dword [esp + 0x80], eax
call fcn.102de720
mov dword [esp + 0xa4], eax
test ebp, ebp
je 0x102c7725
cmp dword [esp + 0x80], 0
je 0x102c7725
test eax, eax
jne 0x102c77fb
mov eax, dword [esp + 0x14]
push str.failed_to_allocate_storage_for_symbol_bitmap
push dword [eax]
push 2
push edi
call fcn.10283d90
add esp, 0x10
jmp 0x102c782f
push str.failed_to_allocate_storage_for_symbol_bitmap
push dword [ebp]
push 2
push edi
call fcn.10283d90
jmp 0x102c78df
push str.huffman_coded_symbol_dictionary
push dword [ebp]
push 0
push edi
call fcn.10283d90
mov edx, dword [esp + 0x94]
add esp, 0x10
mov ecx, edi
call fcn.102c62b0
mov edx, 0x10420f6c
mov dword [esp + 0x1c], eax
mov ecx, edi
call fcn.102c6780
mov edx, 0x103a6fec
mov dword [esp + 0x58], eax
mov ecx, edi
call fcn.102c6780
mov dword [esp + 0x68], eax
cmp dword [esp + 0x1c], ebx
je 0x102c886d
cmp dword [esp + 0x58], ebx
je 0x102c886d
test eax, eax
je 0x102c886d
cmp dword [esi + 4], ebx
jne 0x102c77ff
mov eax, dword [esi + 0x10]
mov ecx, dword [edi]
cmp eax, 0x3fffffc0
jb 0x102c77cd
mov dword [esp + 0x50], ebx
jmp 0x102c77e1
shl eax, 2
push eax
mov eax, dword [ecx]
push ecx
call eax
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
jne 0x102c77ff
push dword [esi + 0x10]
push str.could_not_allocate_storage_for___u__symbol_widths
push dword [ebp]
push 3
push edi
call fcn.10283d90
add esp, 0x14
xor ebp, ebp
jmp 0x102c782f
mov ebp, dword [esp + 0x14]
mov edx, dword [esi + 0x10]
mov ecx, edi
call fcn.102c7020
mov dword [esp + 0x48], eax
test eax, eax
jne 0x102c7959
push dword [esi + 0x10]
push str.could_not_allocate_storage_for___u__new_symbols
push dword [ebp]
push 2
push edi
call fcn.10283d90
add esp, 0x14
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov ecx, edi
call fcn.102c70d0
cmp dword [esi], 0
je 0x102c7854
cmp dword [esi + 4], 0
jne 0x102c7854
mov eax, dword [edi]
push dword [esp + 0x50]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 8
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x102c7873
mov eax, dword [edi]
push dword [ebx + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebx
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x102c7892
mov eax, dword [edi]
push dword [ebx + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebx
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x102c78a6
mov eax, dword [edi]
push ecx
push eax
mov eax, dword [eax + 4]
call eax
add esp, 8
test ebp, ebp
je 0x102c78c1
mov eax, dword [edi]
push dword [ebp + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebp
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov eax, dword [edi]
push dword [esp + 0x80]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [esp + 0xac]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
add esp, 0x10
push dword [esp + 0x84]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [esp + 0x44]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [esp + 0x88]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [esp + 0x7c]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [esp + 0x90]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [esp + 0xb8]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [esp + 0x8c]
add esp, 0x30
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1033d458
add esp, 0xc8
ret
cmp dword [esi + 0x10], 0
jbe 0x102c831f
cmp dword [esi], 0
je 0x102c7988
mov edx, dword [esi + 0x18]
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.102c65c0
mov ebp, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xac], ebp
jmp 0x102c79a8
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0xa8]
mov ecx, dword [esp + 0x78]
push eax
call fcn.102de770
mov ebp, dword [esp + 0xac]
mov dword [esp + 0x24], eax
add esp, 4
test eax, eax
je 0x102c79c6
push eax
mov eax, dword [esp + 0x18]
push str.error_or_OOB_decoding_height_class_delta___d__n
push dword [eax]
push 2
push edi
call fcn.10283d90
add esp, 0x14
cmp dword [esi], 0
jne 0x102c79dc
mov ecx, dword [esp + 0x3c]
call fcn.102de500
test eax, eax
jne 0x102c833e
mov eax, dword [esp + 0x38]
add eax, ebp
mov dword [esp + 0x18], 0
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x34], ebp
js 0x102c84ed
push ebp
push eax
mov eax, dword [esp + 0x1c]
push str.decoding_height_class__d_with__d_syms_decoded
push dword [eax]
push 0
push edi
call fcn.10283d90
add esp, 0x18
lea esp, [esp]
cmp dword [esi], 0
je 0x102c7a45
mov edx, dword [esi + 0x1c]
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.102c65c0
mov ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb8], ecx
jmp 0x102c7a65
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0xb4]
mov ecx, dword [esp + 0x64]
push eax
call fcn.102de770
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x24], eax
add esp, 4
test eax, eax
js 0x102c86cc
cmp eax, 1
je 0x102c80ae
cmp ebp, dword [esi + 0x10]
jae 0x102c8437
mov edx, dword [esp + 0x18]
add edx, ecx
add dword [esp + 0x28], edx
mov dword [esp + 0x18], edx
test edx, edx
js 0x102c8417
mov eax, dword [esi]
test eax, eax
je 0x102c7aa8
cmp dword [esi + 4], 0
je 0x102c806a
cmp dword [esi + 4], 0
jne 0x102c7b5e
mov ecx, dword [esi + 0x28]
mov eax, 2
test ecx, ecx
mov dword [esp + 0xc0], ecx
mov ecx, 8
mov dword [esp + 0xbc], 0
cmove eax, ecx
mov dword [esp + 0xc4], 0
push eax
lea eax, [esi + 0x2c]
mov dword [esp + 0xcc], 0
push eax
lea eax, [esp + 0xd4]
push eax
call sub.MSVCR120.dll_memcpy
mov edx, dword [esp + 0x24]
add esp, 0xc
mov ecx, edi
push dword [esp + 0x38]
call fcn.102ba020
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x102c8359
push dword [esp + 0xb8]
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xc0]
push ebp
push dword [esp + 0x44]
mov ecx, edi
push eax
call fcn.102cca60
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
js 0x102c83dd
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 4]
mov dword [eax + ecx*4], ebp
jmp 0x102c8062
test eax, eax
je 0x102c7b82
mov edx, dword [esi + 0x24]
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.102c65c0
mov ebp, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb4], ebp
jmp 0x102c7ba5
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0xb0]
mov ecx, dword [esp + 0x90]
push eax
call fcn.102de770
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0x24], eax
add esp, 4
test eax, eax
jne 0x102c840d
test ebp, ebp
jle 0x102c840d
mov eax, dword [esp + 0x14]
push ebp
push str.aggregate_symbol_coding___d_instances_
push dword [eax]
push 0
push edi
call fcn.10283d90
add esp, 0x14
cmp ebp, 1
jbe 0x102c7e07
test ebx, ebx
jne 0x102c7d8d
mov eax, dword [edi]
push 4
push eax
mov eax, dword [eax]
call eax
mov ebx, eax
add esp, 8
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x102c83b3
mov edx, dword [esi + 0x10]
mov ecx, edi
add edx, dword [esi + 8]
call fcn.102c7020
mov dword [ebx], eax
test eax, eax
je 0x102c838f
xor edx, edx
cmp dword [esi + 8], edx
jbe 0x102c7c3e
jmp 0x102c7c20
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
mov ecx, dword [eax + edx*4]
test ecx, ecx
je 0x102c7c30
inc dword [ecx + 0x10]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov dword [eax + edx*4], ecx
inc edx
cmp edx, dword [esi + 8]
jb 0x102c7c20
mov eax, dword [edi]
push 0x78
push eax
mov eax, dword [eax]
call eax
mov ebx, eax
add esp, 8
mov dword [esp + 0x88], ebx
test ebx, ebx
je 0x102c8374
cmp dword [esi], 0
mov ecx, edi
jne 0x102c7ceb
call fcn.102de720
mov ecx, edi
mov dword [ebx + 0x48], eax
call fcn.102de720
mov ecx, edi
mov dword [ebx + 0x4c], eax
call fcn.102de720
mov ecx, edi
mov dword [ebx + 0x50], eax
call fcn.102de720
mov dword [ebx + 0x54], eax
xor edx, edx
mov ecx, dword [esi + 0x10]
add ecx, dword [esi + 8]
mov dword [esp + 0x4c], edx
cmp ecx, 1
jle 0x102c7cad
mov eax, 1
rol eax, 1
inc edx
cmp eax, ecx
jl 0x102c7ca2
mov dword [esp + 0x4c], edx
mov ecx, edi
call fcn.102de520
mov ecx, edi
mov dword [ebx + 0x58], eax
call fcn.102de720
mov ecx, edi
mov dword [ebx + 0x5c], eax
call fcn.102de720
mov ecx, edi
mov dword [ebx + 0x60], eax
call fcn.102de720
mov ecx, edi
mov dword [ebx + 0x64], eax
call fcn.102de720
mov ecx, edi
mov dword [ebx + 0x68], eax
call fcn.102de720
mov dword [ebx + 0x6c], eax
jmp 0x102c7d52
mov edx, 0x103bba64
call fcn.102c6780
mov edx, 0x10401a9c
mov dword [ebx + 0x28], eax
mov ecx, edi
call fcn.102c6780
mov edx, 0x1047178c
mov dword [ebx + 0x2c], eax
mov ecx, edi
call fcn.102c6780
mov edx, 0x10420f6c
mov dword [ebx + 0x30], eax
mov ecx, edi
call fcn.102c6780
mov edx, 0x10420f6c
mov dword [ebx + 0x34], eax
mov ecx, edi
call fcn.102c6780
mov edx, 0x10420f6c
mov dword [ebx + 0x38], eax
mov ecx, edi
call fcn.102c6780
mov edx, 0x10420f6c
mov dword [ebx + 0x3c], eax
mov ecx, edi
call fcn.102c6780
mov dword [ebx + 0x40], eax
mov eax, dword [esi]
mov dword [ebx], eax
mov dword [ebx + 4], 1
mov dword [ebx + 0x24], 1
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 1
mov dword [ebx + 0x18], 0
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x70], eax
push dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ecx, edi
mov dword [ebx + 0x1c], ebp
call fcn.102ba020
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x102c83ba
push dword [esp + 0x84]
mov edx, dword [esp + 0x18]
mov ecx, edi
push dword [esp + 0x40]
push dword [esp + 0x68]
sub esp, 8
push ebp
push 1
push dword [esp + 0x70]
push ebx
call fcn.102ccf40
mov edx, dword [esp + 0x6c]
add esp, 0x24
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
mov dword [eax + ecx*4], ebp
mov ebp, ecx
mov eax, dword [edx + 4]
mov edx, dword [eax + ebp*4]
test edx, edx
je 0x102c7df1
inc dword [edx + 0x10]
mov eax, dword [esp + 0x54]
mov ecx, dword [esi + 8]
add ecx, ebp
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [eax + ecx*4], edx
jmp 0x102c8066
xor eax, eax
mov dword [esp + 0x20], 0
cmp dword [esi], 0
mov dword [esp + 0x40], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
je 0x102c7ebf
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.102c64e0
mov edx, dword [esp + 0x5c]
add esp, 4
mov ecx, dword [esp + 0x1c]
mov ebp, eax
lea eax, [esp + 0x20]
mov dword [esp + 0x8c], ebp
push eax
call fcn.102c65c0
mov edx, dword [esp + 0x5c]
add esp, 4
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x6c]
push eax
call fcn.102c65c0
mov edx, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x74]
push eax
call fcn.102c65c0
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [esp + 0x40], eax
call fcn.102c6380
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x74]
jmp 0x102c7f20
mov ebp, dword [esp + 0x3c]
lea eax, [esp + 0x8c]
mov ecx, dword [esp + 0x44]
mov edx, ebp
push eax
call fcn.102de5b0
mov ecx, dword [esp + 0x84]
add esp, 4
mov dword [esp + 0x74], eax
mov edx, ebp
lea eax, [esp + 0xa0]
push eax
call fcn.102de770
mov ecx, dword [esp + 0xa8]
add esp, 4
mov dword [esp + 0x6c], eax
mov edx, ebp
lea eax, [esp + 0x98]
push eax
call fcn.102de770
mov ebp, dword [esp + 0x90]
mov edx, eax
mov eax, dword [esp + 0x78]
add esp, 4
mov ecx, dword [esp + 0x6c]
test eax, eax
js 0x102c8403
test ecx, ecx
js 0x102c8403
test edx, edx
js 0x102c8403
cmp dword [esp + 0x7c], 0
jl 0x102c8403
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x24]
cmp ebp, eax
mov eax, dword [esp + 0x14]
jae 0x102c83eb
push dword [esp + 0x98]
push dword [esp + 0xa4]
push ebp
push str.symbol_is_a_refinement_of_id__d_with_the_refinement_applied_at___d__d_
push dword [eax]
push 0
push edi
call fcn.10283d90
mov edx, dword [esp + 0x34]
add esp, 0x1c
mov ecx, edi
push dword [esp + 0x38]
call fcn.102ba020
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x102c83ba
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0x34]
mov dword [esp + 0xbc], ecx
cmp edx, eax
jae 0x102c7fbc
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 4]
mov eax, dword [eax + edx*4]
jmp 0x102c7fca
mov ecx, edx
sub ecx, eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xc0], eax
test eax, eax
je 0x102c83c1
push dword [esp + 0x60]
mov eax, dword [esp + 0xa4]
mov ecx, edi
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xcc], eax
mov eax, dword [esi + 0x38]
push ebp
push dword [esp + 0x44]
mov dword [esp + 0xdc], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xdc], 0
call fcn.102ca110
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
js 0x102c86cc
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 4]
mov dword [eax + ecx*4], ebp
cmp dword [esi], 0
je 0x102c807e
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x102c8057
mov eax, dword [ebp + 8]
imul eax, dword [ebp + 4]
mov ecx, dword [esp + 0x1c]
mov edx, eax
call fcn.102c6420
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
cmp dword [esi], 0
je 0x102c8082
cmp dword [esi + 4], 0
jne 0x102c8082
mov eax, dword [esp + 0x50]
mov dword [eax + ebp*4], edx
jmp 0x102c8082
mov ebp, dword [esp + 0x24]
push dword [esp + 0x38]
mov eax, dword [esp + 0x18]
inc ebp
push dword [esp + 0x1c]
mov dword [esp + 0x2c], ebp
push dword [esi + 0x10]
push ebp
push str.decoded_symbol__u_of__u___ux_u_
push dword [eax]
push 0
push edi
call fcn.10283d90
add esp, 0x20
jmp 0x102c7a20
push dword [esp + 0x38]
mov eax, dword [esp + 0x18]
push str._OOB_signals_end_of_height_class__d
push dword [eax]
push 0
push edi
call fcn.10283d90
add esp, 0x14
cmp dword [esi], 0
je 0x102c8316
cmp dword [esi + 4], 0
jne 0x102c8316
mov ebp, dword [esp + 0x1c]
lea eax, [esp + 0x20]
mov edx, dword [esi + 0x20]
mov ecx, ebp
push eax
call fcn.102c65c0
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esp + 0x20], 0
jne 0x102c84e3
test eax, eax
js 0x102c84e3
mov ecx, ebp
call fcn.102c6380
push dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
mov ecx, edi
call fcn.102ba020
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x102c84d9
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
test edx, edx
jne 0x102c8215
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x94]
add eax, ecx
sar edx, 3
add eax, edx
test byte [ebp], 7
mov dword [esp + 0x40], eax
mov eax, 0
setne al
mov dword [esp + 0x28], eax
mov eax, dword [ebp]
sar eax, 3
add dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
imul eax, dword [ebp + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
sub eax, ecx
mov ecx, dword [esp + 0x18]
sub eax, edx
cmp eax, ecx
jb 0x102c8456
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x34]
push ecx
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x20]
push dword [ebp]
push str.reading__dx_d_uncompressed_bitmap_for__d_symbols___d_bytes_
push dword [eax]
push 0
push edi
call fcn.10283d90
add esp, 0x20
mov dword [esp + 0x7c], 0
cmp dword [ebp + 4], 0
jle 0x102c8287
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
lea esp, [esp]
push ebx
push esi
push eax
call sub.MSVCR120.dll_memcpy
mov eax, dword [esp + 0x38]
inc edi
add eax, dword [ebp + 8]
add esp, 0xc
add esi, ebx
mov dword [esp + 0x2c], eax
cmp edi, dword [ebp + 4]
jl 0x102c81e0
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0xac]
mov ebx, dword [esp + 0x88]
jmp 0x102c8287
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x30]
sar eax, 3
sub ecx, eax
mov eax, dword [esp + 0x1c]
sub ecx, dword [eax + 0xc]
cmp ecx, edx
jb 0x102c84c2
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x34]
push edx
push eax
push dword [ebp + 4]
mov eax, dword [esp + 0x20]
push dword [ebp]
push str.reading__dx_d_collective_bitmap_for__d_symbols___d_bytes_
push dword [eax]
push 0
push edi
call fcn.10283d90
mov ecx, dword [esp + 0x3c]
add esp, 0x20
mov eax, dword [ecx + 8]
sar eax, 3
add eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x94]
add eax, ecx
push ebp
push dword [esp + 0x1c]
push eax
push ecx
call fcn.102ddf60
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
jne 0x102c849e
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
call fcn.102c6420
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], 0
cmp edx, dword [esp + 0x24]
jae 0x102c8309
mov eax, dword [esp + 0x50]
mov ecx, edi
push dword [esp + 0x38]
mov edx, dword [eax + edx*4]
call fcn.102ba020
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
je 0x102c8497
mov ecx, dword [esp + 0x2c]
mov edx, eax
push 4
push 0
neg ecx
push ecx
push ebp
call fcn.102ba1f0
mov edx, dword [esp + 0x44]
add esp, 0x10
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x2c]
add eax, dword [ecx + edx*4]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
mov dword [eax + edx*4], ecx
inc edx
mov dword [esp + 0x34], edx
cmp edx, dword [esp + 0x24]
jb 0x102c82a6
mov edx, ebp
mov ecx, edi
call fcn.102ba0f0
mov ebp, dword [esp + 0x24]
cmp ebp, dword [esi + 0x10]
jb 0x102c7963
mov edx, dword [esi + 0x14]
mov ecx, edi
call fcn.102c7020
mov edx, eax
mov dword [esp + 0x5c], edx
test edx, edx
jne 0x102c84f7
push str.failed_to_allocate_symbols_exported_from_symbols_dictionary
jmp 0x102c835e
push str.prevent_DOS_while_decoding_height_classes
mov eax, dword [esp + 0x18]
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x10
jmp 0x102c782b
push str.failed_to_allocate_image_in_jbig2_decode_symbol_dict
mov eax, dword [esp + 0x18]
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x10
jmp 0x102c86cc
mov eax, dword [esp + 0x14]
push str.Out_of_memory_creating_text_region_params
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x10
jmp 0x102c8847
mov eax, dword [esp + 0x14]
push str.Out_of_memory_allocating_symbol_dictionary
push dword [eax]
push 3
push edi
call fcn.10283d90
mov eax, dword [edi]
push ebx
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x18
jmp 0x102c884b
push str.Out_of_memory_allocating_dictionary_array
jmp 0x102c8343
push str.Out_of_memory_creating_symbol_image
jmp 0x102c835e
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x18]
push edx
push str.missing_glyph__d__d_
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x18
mov edx, ebp
mov ecx, edi
call fcn.102ba0f0
jmp 0x102c86cc
push ebp
push str.refinement_references_unknown_symbol__d
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x14
jmp 0x102c86cc
push str.failed_to_decode_data
jmp 0x102c835e
push str.invalid_number_of_symbols_or_OOB_in_aggregate_glyph
jmp 0x102c835e
lea eax, [ebp + 1]
push eax
mov eax, dword [esp + 0x18]
push edx
push str.Invalid_SYMWIDTH_value___d__at_symbol__d
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x18
jmp 0x102c86cc
push dword [esp + 0x38]
mov eax, dword [esp + 0x18]
push str.No_OOB_signalling_end_of_height_class__d
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x14
jmp 0x102c86cc
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
sar eax, 3
sub edx, eax
mov eax, dword [ebp + 4]
sub edx, dword [ecx + 0xc]
imul eax, dword [esp + 0x28]
push edx
push eax
mov eax, dword [esp + 0x1c]
push str.not_enough_data_for_decoding___d__d_
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x18
mov edx, ebp
mov ecx, edi
call fcn.102ba0f0
jmp 0x102c86cc
push str.failed_to_copy_the_collective_bitmap_into_symbol_dictionary
jmp 0x102c84a3
push str.error_decoding_MMR_bitmap_image_
mov eax, dword [esp + 0x18]
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x10
mov edx, ebp
mov ecx, edi
call fcn.102ba0f0
jmp 0x102c86cc
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x30]
sar eax, 3
sub ecx, eax
mov eax, dword [esp + 0x1c]
sub ecx, dword [eax + 0xc]
push ecx
push edx
jmp 0x102c8473
push str.could_not_allocate_collective_bitmap_image_
jmp 0x102c835e
push str.error_decoding_size_of_collective_bitmap_
jmp 0x102c835e
push str.Invalid_HCHEIGHT_value
jmp 0x102c8343
mov ecx, dword [esi + 0x10]
xor eax, eax
add ecx, dword [esi + 8]
xor ebp, ebp
xor edx, edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x28], eax
test edx, edx
jl 0x102c86cc
jg 0x102c8525
test ecx, ecx
je 0x102c86cc
cmp dword [esi], 0
je 0x102c8546
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.102c65c0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x44], eax
jmp 0x102c8562
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x40]
mov ecx, dword [esp + 0x70]
push eax
call fcn.102de770
mov ecx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], ecx
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
jle 0x102c8577
mov dword [esp + 0x28], 0
jmp 0x102c857b
inc dword [esp + 0x28]
test ecx, ecx
jne 0x102c86a3
mov ecx, dword [esp + 0x60]
mov eax, ebp
cdq
sub ecx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], ecx
mov ecx, 0
sbb ecx, edx
cdq
cmp edx, ecx
jg 0x102c8665
jl 0x102c85b6
cmp eax, dword [esp + 0x9c]
ja 0x102c8665
mov edx, dword [esp + 0x30]
test edx, edx
js 0x102c8669
cmp dword [esp + 0x28], 4
jg 0x102c8669
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x102c85ea
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x18]
sub eax, ecx
cmp edx, eax
ja 0x102c866d
mov ecx, dword [esp + 0x34]
test edx, edx
jle 0x102c8641
mov edi, dword [esp + 0x48]
test ecx, ecx
je 0x102c862f
mov eax, dword [esi + 8]
cmp ebp, eax
jae 0x102c8608
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebp*4]
jmp 0x102c8612
mov ecx, ebp
sub ecx, eax
mov eax, dword [edi + 4]
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x102c8619
inc dword [ecx + 0x10]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x18]
inc dword [esp + 0x18]
mov eax, dword [eax + 4]
mov dword [eax + ebx*4], ecx
mov ecx, dword [esp + 0x34]
inc ebp
dec edx
jne 0x102c85f2
mov edi, dword [esp + 0xac]
mov ebx, dword [esp + 0x88]
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0x34], eax
mov eax, ebp
cdq
test edx, edx
jl 0x102c8525
jg 0x102c86cc
cmp eax, dword [esp + 0x60]
jb 0x102c8525
jmp 0x102c86cc
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
test edx, edx
jg 0x102c868a
push edx
push str.runlength_too_small_in_export_symbol_table___d___0__n
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x14
jmp 0x102c86b9
push ecx
push dword [esi + 0x14]
push edx
push str.runlength_too_large_in_export_symbol_table___d____d____d__n
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x1c
jmp 0x102c86b9
mov eax, dword [esp + 0x14]
push str.failed_to_decode_exrunlength_for_exported_symbols
push dword [eax]
push 3
push edi
call fcn.10283d90
add esp, 0x10
mov edx, dword [esp + 0x5c]
mov ecx, edi
call fcn.102c70d0
mov dword [esp + 0x5c], 0
test ebx, ebx
je 0x102c8847
cmp dword [esi], 0
jne 0x102c8769
mov eax, dword [edi]
push dword [ebx + 0x48]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [ebx + 0x4c]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [ebx + 0x50]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [ebx + 0x54]
push eax
mov eax, dword [eax + 4]
call eax
mov ebp, dword [ebx + 0x58]
add esp, 0x20
test ebp, ebp
je 0x102c872a
mov eax, dword [edi]
push dword [ebp + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebp
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov eax, dword [edi]
push dword [ebx + 0x5c]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [ebx + 0x60]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [ebx + 0x64]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [ebx + 0x68]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push dword [ebx + 0x6c]
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x28
jmp 0x102c883b
mov ebp, dword [ebx + 0x28]
test ebp, ebp
je 0x102c8787
mov eax, dword [edi]
push dword [ebp + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebp
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov ebp, dword [ebx + 0x2c]
test ebp, ebp
je 0x102c87a5
mov eax, dword [edi]
push dword [ebp + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebp
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov ebp, dword [ebx + 0x30]
test ebp, ebp
je 0x102c87c3
mov eax, dword [edi]
push dword [ebp + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebp
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov ebp, dword [ebx + 0x3c]
test ebp, ebp
je 0x102c87e1
mov eax, dword [edi]
push dword [ebp + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebp
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov ebp, dword [ebx + 0x40]
test ebp, ebp
je 0x102c87ff
mov eax, dword [edi]
push dword [ebp + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebp
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov ebp, dword [ebx + 0x34]
test ebp, ebp
je 0x102c881d
mov eax, dword [edi]
push dword [ebp + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebp
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov ebp, dword [ebx + 0x38]
test ebp, ebp
je 0x102c883b
mov eax, dword [edi]
push dword [ebp + 4]
push eax
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push ebp
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x10
mov eax, dword [edi]
push ebx
push eax
mov eax, dword [eax + 4]
call eax
add esp, 8
mov ebx, dword [esp + 0x54]
test ebx, ebx
je 0x102c782b
mov edx, dword [ebx]
mov ecx, edi
call fcn.102c70d0
mov eax, dword [edi]
push ebx
push eax
mov eax, dword [eax + 4]
call eax
add esp, 8
jmp 0x102c782b
push str.failed_to_allocate_storage_for_symbol_bitmap
push dword [ebp]
push 2
push edi
call fcn.10283d90
add esp, 0x10
xor ebp, ebp
jmp 0x102c782f