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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x562b4b
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
push ebx
push esi
push edi
mov eax, dword [0x63d20c]
xor eax, esp
push eax
lea eax, [esp + 0xc0]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x40], 0
call edx
mov edi, eax
cmp edi, 0xffffffff
je 0x4c8fc0
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x4c8fc0
shl edi, 8
or edi, eax
mov eax, edi
shr edi, 2
and edi, 3
mov dword [esp + 0x2c], edi
add dword [esi + 0x44], 2
mov edi, eax
shr edi, 4
and edi, 3
mov dword [esp + 0x34], edi
mov edi, eax
shr edi, 6
and edi, 1
mov dword [esp + 0x44], edi
mov edi, eax
shr edi, 7
mov edx, eax
shr edx, 0xc
and edi, 1
and edx, 1
mov dword [esp + 0x6c], edi
mov ecx, eax
mov ebx, eax
mov edi, eax
mov dword [esp + 0x4c], edx
mov edx, eax
shr ecx, 0xa
shr ebx, 1
shr edi, 8
shr eax, 9
and edx, 1
and ecx, 3
and ebx, 1
and edi, 1
and eax, 1
mov dword [esp + 0x60], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0x88], eax
test edx, edx
jne 0x4c83e7
test ecx, ecx
mov ecx, esi
jne 0x4c83bb
lea eax, [esp + 0xac]
push eax
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea ecx, [esp + 0x9c]
push ecx
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea edx, [esp + 0xb0]
push edx
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea eax, [esp + 0xa0]
push eax
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea ecx, [esp + 0xb4]
push ecx
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea edx, [esp + 0xa4]
push edx
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.004c5ff0
test eax, eax
jne 0x4c83e7
jmp 0x4c8fc0
lea edx, [esp + 0xac]
push edx
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea eax, [esp + 0x9c]
push eax
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
xor edi, edi
cmp ebx, edi
je 0x4c844f
cmp dword [esp + 0x4c], edi
jne 0x4c844f
lea ecx, [esp + 0x8c]
push ecx
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea edx, [esp + 0x94]
push edx
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea eax, [esp + 0x90]
push eax
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea ecx, [esp + 0x98]
push ecx
mov ecx, esi
call fcn.004c5ff0
test eax, eax
je 0x4c8fc0
lea edx, [esp + 0x68]
push edx
mov ecx, esi
call fcn.004c6080
test eax, eax
je 0x4c8fc0
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.004c6080
test eax, eax
je 0x4c8fc0
push 0x10
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x58], eax
mov dword [esp + 0xc8], edi
cmp eax, edi
je 0x4c849d
mov ecx, eax
call fcn.00489de0
mov dword [esp + 0x14], eax
jmp 0x4c84a1
mov dword [esp + 0x14], edi
xor eax, eax
xor ebx, ebx
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0x38], eax
cmp dword [ebp + 0x14], ebx
jbe 0x4c852a
lea esp, [esp]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + ebx*4]
push edx
mov ecx, esi
call fcn.004c5c20
mov edi, eax
test edi, edi
je 0x4c8520
mov eax, dword [edi]
mov edx, dword [eax + 4]
mov ecx, edi
call edx
cmp eax, 1
jne 0x4c8508
mov edi, dword [edi + 8]
cmp edi, 0x7fffffff
ja 0x4c8f8c
mov eax, 0x7fffffff
sub eax, edi
cmp dword [esp + 0x38], eax
ja 0x4c8f8c
add dword [esp + 0x38], edi
jmp 0x4c8520
mov edx, dword [edi]
mov eax, dword [edx + 4]
mov ecx, edi
call eax
cmp eax, 3
jne 0x4c8520
mov ecx, dword [esp + 0x14]
push edi
call fcn.00489e40
inc ebx
cmp ebx, dword [ebp + 0x14]
jb 0x4c84c0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x7fffffff
ja 0x4c8f8c
mov edx, 0x7fffffff
sub edx, ecx
cmp eax, edx
ja 0x4c8f8c
lea edi, [eax + ecx]
mov eax, edi
mov dword [esp + 0x58], edi
cmp eax, 1
ja 0x4c8566
xor eax, eax
cmp dword [esp + 0x1c], eax
setne al
mov dword [esp + 0x3c], eax
jmp 0x4c857d
sub eax, 1
mov ecx, 0
mov dword [esp + 0x3c], ecx
je 0x4c857d
inc ecx
shr eax, 1
jne 0x4c8574
mov dword [esp + 0x3c], ecx
push 4
push edi
call fcn.00497310
add esp, 8
mov edx, eax
mov dword [esp + 0x24], edx
test edi, edi
jbe 0x4c859a
mov ecx, edi
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
cmp dword [ebp + 0x14], eax
jbe 0x4c8636
nop
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esi + 0x34]
xor eax, eax
cmp dword [ecx + 8], eax
jle 0x4c85d5
mov ecx, dword [ecx]
mov edi, dword [ecx]
cmp dword [edi + 4], edx
je 0x4c85f6
mov edi, dword [esi + 0x34]
inc eax
add ecx, 4
cmp eax, dword [edi + 8]
jl 0x4c85c2
mov ecx, dword [esi + 0x30]
xor eax, eax
cmp dword [ecx + 8], eax
jle 0x4c8624
mov ecx, dword [ecx]
mov edi, dword [ecx]
cmp dword [edi + 4], edx
je 0x4c85f6
mov edi, dword [esi + 0x30]
inc eax
add ecx, 4
cmp eax, dword [edi + 8]
jl 0x4c85e1
jmp 0x4c8624
mov edx, dword [edi]
mov eax, dword [edx + 4]
mov ecx, edi
call eax
cmp eax, 1
jne 0x4c8624
xor eax, eax
mov dword [esp + 0x20], edi
cmp dword [edi + 8], eax
jbe 0x4c8624
nop
mov ecx, dword [edi + 0xc]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x24]
mov dword [ecx + ebx*4], edx
inc eax
inc ebx
cmp eax, dword [edi + 8]
jb 0x4c8610
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [ebp + 0x14]
jb 0x4c85b0
mov edi, dword [esp + 0x14]
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x48], ebx
mov edx, 0x6327a0
cmp dword [esp + 0x1c], ebx
je 0x4c872f
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
jne 0x4c866f
mov dword [esp + 0x5c], 0x632910
jmp 0x4c8693
cmp ecx, 1
jne 0x4c867e
mov dword [esp + 0x5c], 0x632980
jmp 0x4c8693
cmp dword [edi + 8], ebx
jbe 0x4c86f5
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov eax, 1
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x34]
cmp ecx, ebx
jne 0x4c86a5
mov dword [esp + 0x54], 0x6327f0
jmp 0x4c86c6
cmp ecx, 1
jne 0x4c86b4
mov dword [esp + 0x54], 0x632870
jmp 0x4c86c6
cmp eax, dword [edi + 8]
jae 0x4c86f5
mov ecx, dword [edi]
mov ecx, dword [ecx + eax*4]
mov ecx, dword [ecx + 8]
inc eax
mov dword [esp + 0x54], ecx
cmp dword [esp + 0x44], ebx
jne 0x4c86d2
mov dword [esp + 0x48], edx
jmp 0x4c86e4
cmp eax, dword [edi + 8]
jae 0x4c86f5
mov ecx, dword [edi]
mov ecx, dword [ecx + eax*4]
mov ecx, dword [ecx + 8]
inc eax
mov dword [esp + 0x48], ecx
cmp dword [esp + 0x6c], ebx
jne 0x4c86f0
mov dword [esp + 0x64], edx
jmp 0x4c872f
cmp eax, dword [edi + 8]
jb 0x4c8723
mov edx, dword [esi]
mov eax, dword [edx + 0x30]
push str.Missing_code_table_in_JBIG2_symbol_dictionary
mov ecx, esi
call eax
push eax
push 1
call fcn.00489570
add esp, 0xc
mov ecx, edi
call fcn.00489e10
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x4c8e74
mov ecx, dword [edi]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx + 8]
mov dword [esp + 0x64], eax
cmp edi, ebx
je 0x4c8743
mov ecx, edi
call fcn.00489e10
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
cmp dword [esp + 0x1c], ebx
je 0x4c8757
mov eax, dword [esi + 0x8c]
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x4c8793
cmp dword [esp + 0x28], ebx
je 0x4c8772
cmp dword [esp + 0x20], ebx
je 0x4c8772
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x60]
push edx
push eax
jmp 0x4c8778
mov ecx, dword [esp + 0x60]
push ebx
push ecx
mov ecx, esi
call fcn.004c5ce0
mov edx, dword [esp + 0x3c]
push edx
mov ecx, esi
call fcn.004c5ea0
mov ecx, dword [esi + 0x48]
call fcn.00501980
mov edi, dword [esp + 0x50]
cmp edi, ebx
je 0x4c87c3
cmp dword [esp + 0x28], ebx
je 0x4c87b6
cmp dword [esp + 0x20], ebx
je 0x4c87b6
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x4c]
push ecx
push edx
jmp 0x4c87bc
mov eax, dword [esp + 0x4c]
push ebx
push eax
mov ecx, esi
call fcn.004c5dc0
cmp dword [esp + 0x1c], ebx
je 0x4c87e0
cmp edi, ebx
jne 0x4c87e0
mov ecx, dword [esp + 0x30]
push 4
push ecx
call fcn.00497310
add esp, 8
mov dword [esp + 0x40], eax
xor ebx, ebx
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x30], ebx
jbe 0x4c8c9a
cmp dword [esp + 0x1c], 0
je 0x4c880e
mov edx, dword [esp + 0x5c]
mov ecx, dword [esi + 0x8c]
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.004c6100
jmp 0x4c881f
mov ecx, dword [esi + 0x54]
push ecx
mov ecx, dword [esi + 0x48]
lea edx, [esp + 0x7c]
push edx
call fcn.00501be0
mov eax, dword [esp + 0x78]
test eax, eax
jg 0x4c884d
mov ecx, eax
neg ecx
cmp ecx, ebx
jb 0x4c8856
mov edx, dword [esi]
mov eax, dword [edx + 0x30]
push str.Bad_delta_height_value_in_JBIG2_symbol_dictionary
mov ecx, esi
call eax
push eax
push 1
call fcn.00489570
add esp, 0xc
jmp 0x4c8e74
or edx, 0xffffffff
sub edx, ebx
cmp eax, edx
ja 0x4c882f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
add ebx, eax
mov eax, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x14], eax
add eax, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x44], eax
lea eax, [edx + eax*4]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], eax
nop
cmp dword [esp + 0x1c], 0
je 0x4c8913
mov ecx, dword [esp + 0x54]
push ecx
mov ecx, dword [esi + 0x8c]
lea edx, [esp + 0x88]
push edx
call fcn.004c6100
test eax, eax
jne 0x4c892f
cmp dword [esp + 0x50], 0
jne 0x4c8c8c
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x4c8d1a
mov eax, dword [esp + 0x48]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esi + 0x8c]
call fcn.004c6100
mov eax, dword [esi + 0x8c]
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x28]
cmp eax, ecx
jne 0x4c8c06
push 0x18
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x4c8bdf
push ebx
push edi
push 0
mov ecx, eax
call fcn.004c2900
jmp 0x4c8be1
mov eax, dword [esi + 0x58]
push eax
lea ecx, [esp + 0x88]
push ecx
mov ecx, dword [esi + 0x48]
call fcn.00501be0
test eax, eax
je 0x4c8c8c
mov eax, dword [esp + 0x84]
test eax, eax
jg 0x4c8948
mov edx, eax
neg edx
cmp edx, edi
jae 0x4c882f
jmp 0x4c8955
or ecx, 0xffffffff
sub ecx, edi
cmp eax, ecx
ja 0x4c882f
add edi, eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x30]
jae 0x4c8cfc
cmp dword [esp + 0x1c], 0
je 0x4c8999
cmp dword [esp + 0x50], 0
jne 0x4c8a49
mov edx, dword [esp + 0x40]
add dword [esp + 0x2c], edi
add dword [esp + 0x20], 4
mov dword [edx + eax*4], edi
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x44], eax
jmp 0x4c8880
cmp dword [esp + 0x50], 0
je 0x4c8b9a
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0x48]
push edx
lea eax, [esp + 0x84]
push eax
call fcn.00501be0
test eax, eax
je 0x4c8c8c
mov eax, dword [esp + 0x80]
cmp eax, 1
jne 0x4c8b0f
cmp dword [esp + 0x1c], 0
je 0x4c8a6e
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esi + 0x8c]
call fcn.004c22c0
mov ecx, dword [esi + 0x8c]
push 0x633330
lea edx, [esp + 0x80]
push edx
mov dword [esp + 0x3c], eax
call fcn.004c6100
mov ecx, dword [esi + 0x8c]
push 0x633330
lea eax, [esp + 0x78]
push eax
call fcn.004c6100
push 0x6327a0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esi + 0x8c]
call fcn.004c6100
mov eax, dword [esi + 0x8c]
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x48]
call fcn.00501980
jmp 0x4c8aab
mov eax, dword [esp + 0x64]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [esi + 0x8c]
call fcn.004c6100
test eax, eax
je 0x4c88ab
jmp 0x4c89c0
mov edx, dword [esi + 0x88]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esi + 0x48]
push edx
push eax
call fcn.00501b90
mov ecx, dword [esi + 0x74]
push ecx
mov ecx, dword [esi + 0x48]
lea edx, [esp + 0x80]
push edx
mov dword [esp + 0x3c], eax
call fcn.00501be0
mov eax, dword [esi + 0x78]
push eax
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [esi + 0x48]
call fcn.00501be0
mov edx, dword [esp + 0x44]
cmp dword [esp + 0x34], edx
jae 0x4c8d38
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + ecx*4]
lea edx, [esp + 0x94]
push edx
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x58]
push ecx
push eax
push 0
push edx
push ebx
push edi
mov ecx, esi
call fcn.004c4c60
mov ecx, dword [esp + 0x20]
add dword [esp + 0x20], 4
mov dword [ecx], eax
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x44], eax
jmp 0x4c8880
lea edx, [esp + 0x94]
push edx
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x90]
push ecx
push edx
push 0x6327a0
push 0x633330
push 0x633330
push 0x633330
push 0x633330
mov ecx, dword [esp + 0x44]
push 0x633030
mov edx, dword [esp + 0x60]
push 0x632c00
push 0x632a10
push 0
push 1
push 0
push 0
push 0
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x64]
push 0
push ecx
push 0
push eax
push ebx
push edi
push 1
push edx
mov ecx, esi
call fcn.004c6930
mov ecx, dword [esp + 0x20]
add dword [esp + 0x20], 4
mov dword [ecx], eax
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x44], eax
jmp 0x4c8880
mov ecx, dword [esp + 0x60]
push 0
lea edx, [esp + 0xa0]
push edx
lea eax, [esp + 0xb4]
push eax
push 0
push 0
push 0
push ecx
push ebx
push edi
push 0
mov ecx, esi
call fcn.004c3190
mov edx, dword [esp + 0x20]
add dword [esp + 0x20], 4
mov dword [edx], eax
mov eax, 1
add dword [esp + 0x18], eax
add dword [esp + 0x44], eax
jmp 0x4c8880
xor eax, eax
mov ecx, dword [esi + 0x38]
lea edx, [edi + 7]
mov edi, dword [ecx]
shr edx, 3
imul edx, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x14]
push edx
mov dword [esp + 0x2c], edx
mov edx, dword [edi + 0x24]
push eax
call edx
add dword [esi + 0x44], eax
jmp 0x4c8c1c
push eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push edi
push 1
mov ecx, esi
call fcn.004c3190
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
xor edi, edi
cmp dword [esp + 0x14], eax
jae 0x4c8c7c
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x6c]
lea eax, [ecx + edx*4]
mov dword [esp + 0x34], eax
jmp 0x4c8c40
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx + edx*4]
mov ecx, dword [esp + 0x2c]
push ebx
push eax
push 0
push edi
call fcn.004c6240
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
add edi, dword [edx + eax*4]
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], ecx
cmp eax, dword [esp + 0x18]
jb 0x4c8c40
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x4c8c8c
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x18], eax
jb 0x4c87f0
push 0x18
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
mov eax, dword [esp + 0x6c]
add esp, 4
test edi, edi
je 0x4c8d56
mov ecx, dword [ebp + 8]
push 4
push eax
mov dword [edi + 4], ecx
mov dword [edi], vtable.JBIG2SymbolDict.0
mov dword [edi + 8], eax
call fcn.00497310
mov dword [edi + 0xc], eax
xor eax, eax
add esp, 8
cmp dword [edi + 8], eax
jbe 0x4c8cf0
jmp 0x4c8ce0
mov edx, dword [edi + 0xc]
mov dword [edx + eax*4], 0
inc eax
cmp eax, dword [edi + 8]
jb 0x4c8ce0
xor eax, eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov ebx, edi
jmp 0x4c8d5a
mov edx, dword [esi]
mov eax, dword [edx + 0x30]
push str.Too_many_symbols_in_JBIG2_symbol_dictionary
mov ecx, esi
call eax
push eax
push 1
call fcn.00489570
add esp, 0xc
jmp 0x4c8e74
mov edx, dword [esi]
mov eax, dword [edx + 0x30]
push str.Invalid_height_class_width_in_JBIG2_symbol_dictionary
mov ecx, esi
call eax
push eax
push 1
call fcn.00489570
add esp, 0xc
jmp 0x4c8e74
mov edx, dword [esi]
mov eax, dword [edx + 0x30]
push str.Invalid_symbol_ID_in_JBIG2_symbol_dictionary
mov ecx, esi
call eax
push eax
push 1
call fcn.00489570
add esp, 0xc
jmp 0x4c8e74
xor ebx, ebx
xor eax, eax
xor edi, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], eax
cmp dword [esp + 0x58], eax
jbe 0x4c8e3d
cmp dword [esp + 0x1c], 0
je 0x4c8d90
mov ecx, dword [esi + 0x8c]
push 0x6327a0
lea eax, [esp + 0x74]
push eax
call fcn.004c6100
jmp 0x4c8da1
mov ecx, dword [esi + 0x5c]
push ecx
mov ecx, dword [esi + 0x48]
lea edx, [esp + 0x74]
push edx
call fcn.00501be0
mov eax, dword [esp + 0x70]
lea ecx, [eax + edi]
cmp ecx, dword [esp + 0x58]
ja 0x4c8ec4
cmp dword [esp + 0x28], 0
je 0x4c8e1e
mov ecx, dword [esp + 0x14]
lea edx, [eax + ecx]
cmp edx, dword [esp + 0x68]
ja 0x4c8ec4
mov dword [esp + 0x48], 0
test eax, eax
jle 0x4c8e20
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + edi*4]
push 0x18
inc edi
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x4c8df8
push ebx
push 0
mov ecx, eax
call fcn.004c2980
jmp 0x4c8dfa
xor eax, eax
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x48]
inc eax
inc ecx
cmp eax, dword [esp + 0x70]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x48], eax
jl 0x4c8dd6
jmp 0x4c8e20
mov edi, ecx
xor eax, eax
cmp dword [esp + 0x28], eax
sete al
mov dword [esp + 0x28], eax
cmp edi, dword [esp + 0x58]
jb 0x4c8d72
mov ebx, dword [esp + 0x18]
xor eax, eax
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x68]
je 0x4c8ee4
mov edx, dword [esi]
mov eax, dword [edx + 0x30]
push str.Too_few_symbols_in_JBIG2_symbol_dictionary
mov ecx, esi
call eax
push eax
push 1
call fcn.00489570
add esp, 0xc
test ebx, ebx
je 0x4c8e74
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov edi, dword [esp + 0x30]
test edi, edi
jbe 0x4c8e9d
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
lea esi, [edx + ecx*4]
mov ecx, dword [esi]
test ecx, ecx
je 0x4c8e95
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
add esi, 4
sub edi, 1
jne 0x4c8e87
mov eax, dword [esp + 0x24]
push eax
call fcn.00497230
mov eax, dword [esp + 0x44]
add esp, 4
test eax, eax
je 0x4c8fd9
push eax
call fcn.00497230
add esp, 4
jmp 0x4c8fd9
mov edx, dword [esi]
mov eax, dword [edx + 0x30]
push str.Too_many_exported_symbols_in_JBIG2_symbol_dictionary
mov ecx, esi
call eax
push eax
push 1
call fcn.00489570
add esp, 0xc
cmp dword [esp + 0x18], 0
jmp 0x4c8e66
cmp dword [esp + 0x30], eax
jbe 0x4c8f1a
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
lea edi, [edx + ecx*4]
lea esp, [esp]
mov ecx, dword [edi]
test ecx, ecx
je 0x4c8f0e
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
add edi, 4
sub ebx, 1
jne 0x4c8f00
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
push eax
call fcn.00497230
mov eax, dword [esp + 0x44]
add esp, 4
test eax, eax
je 0x4c8f38
push eax
call fcn.00497230
add esp, 4
cmp dword [esp + 0x1c], 0
jne 0x4c8f66
cmp dword [esp + 0x88], 0
je 0x4c8f66
mov ecx, dword [esi + 0x4c]
call fcn.00501920
cmp dword [esp + 0x50], 0
mov dword [ebx + 0x10], eax
je 0x4c8f66
mov ecx, dword [esi + 0x50]
call fcn.00501920
mov dword [ebx + 0x14], eax
mov ecx, dword [esi + 0x30]
push ebx
call fcn.00489e40
mov eax, 1
mov ecx, dword [esp + 0xc0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [esi]
mov eax, dword [edx + 0x30]
push str.Too_many_input_symbols_in_JBIG2_symbol_dictionary
mov ecx, esi
call eax
push eax
push 1
call fcn.00489570
add esp, 0xc
cmp dword [esp + 0x14], 0
je 0x4c8fc0
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.00489e10
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edx, dword [esi]
mov eax, dword [edx + 0x30]
push str.Unexpected_EOF_in_JBIG2_stream
mov ecx, esi
call eax
push eax
push 1
call fcn.00489570
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0xc0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10