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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x5637fc
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x63d20c]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x40], esi
push str.text
call fcn.004f6e30
xor edi, edi
mov dword [esp + 0x20], eax
cmp eax, edi
je 0x4f940a
fld qword [0x5c5a50]
mov ecx, dword [esi + 8]
push 0x5ca198
fstp qword [esp + 0x48]
mov dword [esp + 0x34], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
call fcn.0050bac0
cmp eax, edi
je 0x4f8dbf
push str.barcode
mov ecx, eax
call fcn.0050bac0
mov ebx, eax
cmp ebx, edi
je 0x4f8dbf
push str.type
mov ecx, ebx
call fcn.0050c590
cmp eax, edi
je 0x4f8cb8
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
push str.wideNarrowRatio
mov ecx, ebx
call fcn.0050c590
cmp eax, edi
je 0x4f8d7d
mov esi, dword [eax + 4]
mov eax, dword [esi + 4]
push 0x3a
push eax
call dword [sym.imp.MSVCR90.dll_strchr]
mov edi, eax
add esp, 8
test edi, edi
je 0x4f8d6c
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc0], 0
test eax, eax
je 0x4f8d1b
mov edx, dword [esi + 4]
mov ecx, edi
sub ecx, edx
push ecx
push 0
push esi
mov ecx, eax
call fcn.0047abf0
mov esi, eax
jmp 0x4f8d1d
xor esi, esi
inc edi
push edi
mov dword [esp + 0xc4], 0xffffffff
call dword [sym.imp.MSVCR90.dll_atof]
fst qword [esp + 0x48]
fldz
add esp, 4
fucompp
fnstsw ax
test ah, 0x44
jp 0x4f8d48
fld1
fstp qword [esp + 0x44]
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.MSVCR90.dll_atof]
fdiv qword [esp + 0x48]
add esp, 4
mov ecx, esi
fstp qword [esp + 0x44]
call fcn.0047ac70
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
jmp 0x4f8d7a
mov esi, dword [esi + 4]
push esi
call dword [sym.imp.MSVCR90.dll_atof]
fstp qword [esp + 0x48]
add esp, 4
push str.dataLength
mov ecx, ebx
call fcn.0050c590
test eax, eax
je 0x4f8da1
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
mov dword [esp + 0x24], eax
push str.textLocation
mov ecx, ebx
call fcn.0050c590
test eax, eax
je 0x4f8db8
mov edx, dword [eax + 4]
mov dword [esp + 0x28], edx
cmp dword [esp + 0x30], 0
jne 0x4f8de8
push str.Missing_type_attribute_in_XFA_barcode_field
push 0xffffffffffffffff
push 1
call fcn.00489570
add esp, 0xc
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
xor ebx, ebx
cmp dword [esp + 0x24], ebx
jne 0x4f8e19
push str.Missing_dataLength_attribute_in_XFA_barcode_field
push 0xffffffffffffffff
push 1
call fcn.00489570
add esp, 0xc
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
fld qword [ebp + 0x14]
mov eax, dword [esp + 0x40]
fmul qword [0x5c6af0]
mov ecx, dword [eax + 8]
xor edi, edi
push str.font
fstp qword [esp + 0x70]
mov dword [esp + 0x30], edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
call fcn.0050bac0
mov esi, eax
cmp esi, ebx
je 0x4f8eee
push str.typeface
mov ecx, esi
call fcn.0050c590
cmp eax, ebx
je 0x4f8e6d
mov ecx, dword [eax + 4]
call fcn.0041b9d0
mov edi, eax
mov dword [esp + 0x2c], eax
push str.weight
mov ecx, esi
call fcn.0050c590
cmp eax, ebx
je 0x4f8e98
mov eax, dword [eax + 4]
push str.bold
mov ecx, eax
call fcn.0047b280
test eax, eax
jne 0x4f8e98
mov dword [esp + 0x3c], 1
push str.posture
mov ecx, esi
call fcn.0050c590
cmp eax, ebx
je 0x4f8ec3
mov eax, dword [eax + 4]
push str.italic
mov ecx, eax
call fcn.0047b280
test eax, eax
jne 0x4f8ec3
mov dword [esp + 0x38], 1
push str.size
mov ecx, esi
call fcn.0050c590
cmp eax, ebx
je 0x4f8eea
fld qword [esp + 0x6c]
sub esp, 8
fstp qword [esp]
push eax
call fcn.004f6e10
fstp qword [esp + 0x78]
add esp, 0xc
cmp edi, ebx
jne 0x4f8f3c
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x34], eax
mov edi, 1
mov dword [esp + 0xc0], edi
cmp eax, ebx
je 0x4f8f29
push str.Courier
mov ecx, eax
call fcn.0047ab60
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x4f8f41
xor eax, eax
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x4f8f41
mov edi, 1
fldz
mov esi, dword [esp + 0x28]
fst qword [esp + 0x4c]
mov dword [esp + 0x34], edi
fst qword [esp + 0x54]
fst qword [esp + 0x64]
cmp esi, ebx
je 0x4f8fe6
push str.above
fstp st(0)
mov ecx, esi
call fcn.0047b280
test eax, eax
jne 0x4f8f88
fld qword [ebp + 0x14]
mov dword [esp + 0x28], ebx
fst qword [esp + 0x64]
fldz
fstp qword [esp + 0x54]
fsub qword [esp + 0x6c]
jmp 0x4f8ff9
push str.belowEmbedded
mov ecx, esi
call fcn.0047b280
test eax, eax
jne 0x4f8fa7
fldz
fst qword [esp + 0x64]
fstp qword [esp + 0x54]
fld qword [ebp + 0x14]
jmp 0x4f8ff5
push str.aboveEmbedded
mov ecx, esi
call fcn.0047b280
test eax, eax
jne 0x4f8fca
fld qword [ebp + 0x14]
mov dword [esp + 0x28], ebx
fst qword [esp + 0x64]
fldz
fstp qword [esp + 0x54]
jmp 0x4f8ff9
push str.none
mov ecx, esi
call fcn.0047b280
test eax, eax
jne 0x4f8fe4
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], ebx
jmp 0x4f8ffd
fldz
fstp qword [esp + 0x64]
fld qword [esp + 0x6c]
fst qword [esp + 0x54]
fsubr qword [ebp + 0x14]
mov dword [esp + 0x28], edi
fstp qword [esp + 0x4c]
fld qword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
fstp qword [esp + 0x74]
call fcn.0041b9d0
mov esi, dword [esp + 0x30]
mov ebx, eax
push str.code3Of9
mov ecx, esi
mov dword [esp + 0x24], ebx
call fcn.0047b280
test eax, eax
jne 0x4f905a
cmp dword [ebx], 1
jl 0x4f905a
mov ecx, dword [ebx + 4]
cmp byte [ecx], 0x2a
jne 0x4f903e
push 1
push eax
mov ecx, ebx
call fcn.0047b140
mov eax, dword [ebx]
cmp eax, 1
jl 0x4f905a
mov edx, dword [ebx + 4]
cmp byte [eax + edx - 1], 0x2a
jne 0x4f905a
push 1
dec eax
push eax
mov ecx, ebx
call fcn.0047b140
push str.code3Of9
mov ecx, esi
call fcn.0047b280
test eax, eax
jne 0x4f91c1
mov ecx, dword [ebp + 0x20]
push 0x5ca5a0
call fcn.0047ad30
fld qword [esp + 0x44]
fld qword [0x5c5a50]
mov eax, dword [esp + 0x24]
fmul st(1)
add eax, 2
mov dword [esp + 0x30], eax
mov eax, dword [ebx]
cmp eax, 0xffffffff
fadd qword [0x5ca598]
fst qword [esp + 0x7c]
fild dword [esp + 0x30]
mov dword [esp + 0x30], 0xffffffff
fmul st(1)
fdivr qword [ebp + 0xc]
fst qword [esp + 0x74]
fldz
fst qword [esp + 0x5c]
jl 0x4f91a3
fstp st(2)
fld1
jmp 0x4f90cc
fxch st(2)
fxch st(1)
mov ecx, dword [esp + 0x30]
test ecx, ecx
jl 0x4f90e9
cmp ecx, eax
jge 0x4f90e9
mov edx, dword [ebx + 4]
movsx edi, byte [edx + ecx]
and edi, 0x7f
xor esi, esi
lea edi, [edi + edi*4]
jmp 0x4f90f9
mov edi, 0x2a
xor esi, esi
lea edi, [edi + edi*4]
jmp 0x4f90f9
fxch st(2)
fxch st(1)
cmp byte [esi + edi*2 + 0x637340], 0
je 0x4f9107
fstp st(0)
jmp 0x4f9109
fstp st(3)
fld qword [esp + 0x4c]
mov eax, dword [ebp + 0x20]
sub esp, 0x20
fstp qword [esp + 0x18]
fmulp st(2)
fxch st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x74]
fstp qword [esp + 8]
fstp qword [esp]
push str.0:.4f_1:.4f_2:.4f_3:.4f_re_f_n
push eax
call fcn.0047bf20
add esp, 0x28
cmp byte [esi + edi*2 + 0x637340], 0
je 0x4f914c
fld qword [esp + 0x44]
fld st(0)
fld1
jmp 0x4f9156
fld1
fld st(0)
fld qword [esp + 0x44]
fxch st(2)
cmp byte [esi + edi*2 + 0x637341], 0
je 0x4f9164
fld st(2)
jmp 0x4f9166
fld st(0)
faddp st(2)
add esi, 2
cmp esi, 0xa
fld qword [esp + 0x74]
fmul st(2), st(0)
fxch st(2)
fadd qword [esp + 0x5c]
fst qword [esp + 0x5c]
jl 0x4f90f5
mov ecx, dword [esp + 0x30]
mov eax, dword [ebx]
inc ecx
cmp ecx, eax
mov dword [esp + 0x30], ecx
jle 0x4f90c8
fstp st(0)
fstp st(2)
fstp st(1)
fld qword [esp + 0x7c]
jmp 0x4f91a7
fstp st(0)
fstp st(2)
mov ecx, dword [ebx]
add ecx, 2
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
fmulp st(1)
fmulp st(1)
fstp qword [esp + 0x74]
jmp 0x4f9365
push str.code128B
mov ecx, esi
call fcn.0047b280
test eax, eax
jne 0x4f9354
mov ecx, dword [ebp + 0x20]
push 0x5ca5a0
call fcn.0047ad30
mov eax, dword [esp + 0x24]
imul eax, eax, 0xb
add eax, 0x23
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
fild dword [esp + 0x30]
or ebx, 0xffffffff
lea ecx, [eax + 1]
cmp ecx, ebx
fdivr qword [ebp + 0xc]
mov dword [esp + 0x24], 0
fst qword [esp + 0x74]
fldz
fst qword [esp + 0x5c]
jl 0x4f9307
cmp ebx, 0xffffffff
jne 0x4f922d
mov eax, 0x68
add dword [esp + 0x24], eax
jmp 0x4f927f
cmp ebx, eax
jne 0x4f924f
mov ecx, dword [esp + 0x24]
mov eax, 0x13e22cbd
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x67
mov eax, ecx
sub eax, edx
jmp 0x4f927f
cmp ebx, ecx
jne 0x4f925a
mov eax, 0x6a
jmp 0x4f927f
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
movzx eax, byte [ecx + ebx]
lea ecx, [eax - 0x20]
mov edx, 0x5f
cmp edx, ecx
sbb eax, eax
not eax
and eax, ecx
lea ecx, [ebx + 1]
imul ecx, eax
add dword [esp + 0x24], ecx
xor esi, esi
lea edi, [eax + eax*2]
movzx edx, byte [esi + edi*2 + 0x637840]
fld qword [esp + 0x4c]
mov eax, dword [ebp + 0x20]
sub esp, 0x20
mov dword [esp + 0x50], edx
fstp qword [esp + 0x18]
fild dword [esp + 0x50]
fmulp st(2)
fxch st(1)
fstp qword [esp + 0x10]
fld qword [esp + 0x74]
fstp qword [esp + 8]
fstp qword [esp]
push str.0:.4f_1:.4f_2:.4f_3:.4f_re_f_n
push eax
call fcn.0047bf20
movzx ecx, byte [esi + edi*2 + 0x637841]
movzx edx, byte [esi + edi*2 + 0x637840]
add ecx, edx
mov dword [esp + 0x58], ecx
add esi, 2
add esp, 0x28
cmp esi, 6
fild dword [esp + 0x30]
fld qword [esp + 0x74]
fmul st(1), st(0)
fxch st(1)
fadd qword [esp + 0x5c]
fst qword [esp + 0x5c]
jl 0x4f9284
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
inc ebx
lea ecx, [eax + 1]
cmp ebx, ecx
jle 0x4f921d
fld qword [esp + 0x4c]
mov ecx, dword [ebp + 0x20]
sub esp, 0x20
fstp qword [esp + 0x18]
fxch st(1)
fadd st(0), st(0)
fstp qword [esp + 0x10]
fld qword [esp + 0x74]
fstp qword [esp + 8]
fstp qword [esp]
push str.0:.4f_1:.4f_2:.4f_3:.4f_re_f_n
push ecx
call fcn.0047bf20
mov edi, dword [esp + 0x48]
mov edx, dword [edi]
imul edx, edx, 0xb
add esp, 0x28
add edx, 0x23
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fmul qword [esp + 0x74]
fstp qword [esp + 0x74]
jmp 0x4f9369
push str.Unimplemented_barcode_type_in_XFA_barcode_field
push 0xffffffffffffffff
push 1
call fcn.00489570
add esp, 0xc
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x34], 0
je 0x4f93de
mov esi, dword [ebp + 0x20]
push 0x5ca5a0
mov ecx, esi
call fcn.0047ad30
fld qword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x28]
push esi
push eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
push 1
sub esp, 0x20
fstp qword [esp + 0x18]
mov esi, dword [esp + 0x58]
fld qword [esp + 0xa0]
fstp qword [esp + 0x10]
fld qword [esp + 0x90]
fstp qword [esp + 8]
fldz
fstp qword [esp]
fld qword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x70]
push 1
sub esp, 8
fstp qword [esp]
push edx
push eax
push esi
push 0
push 0
push edi
call fcn.004f7010
jmp 0x4f93e2
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x4f93f6
mov ecx, esi
call fcn.0047ac70
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
test edi, edi
je 0x4f940a
mov ecx, edi
call fcn.0047ac70
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c