Function at 0x401130
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x434bdf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
mov eax, dword [0x4457b0]
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x18], eax
mov edi, 1
mov dword [esp + 0x7c], edi
call fcn.00401f70
mov ebp, eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x34], 0x4376c8
lea eax, [ebp + 0xf]
mov ecx, edi
and eax, 0xfff0
mov byte [esp + 0x7c], 2
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ebx
cdq
and edx, 7
mov dword [esp + 0x64], ecx
add eax, edx
mov dl, byte [esi + 5]
sar eax, 3
cmp dl, 7
mov dword [esp + 0x68], eax
mov word [esp + 0x6c], di
mov word [esp + 0x6e], di
jne 0x4011c0
mov ecx, 2
mov dword [esp + 0x64], ecx
imul eax, ecx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ecx, dword [esp + 0x68]
mov ebx, eax
imul ecx, dword [esp + 0x64]
mov edx, ecx
or eax, 0xffffffff
mov edi, ebx
mov dword [esp + 0x20], ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
xor eax, eax
mov al, byte [esi + 5]
cmp eax, 9
ja case.default.0x4011f7
jmp dword [eax*4 + 0x401908]
push ebx
mov ecx, esi
call fcn.00402970
jmp case.default.0x4011f7
push ebx
mov ecx, esi
call fcn.00402ac0
jmp case.default.0x4011f7
push ebx
mov ecx, esi
call fcn.00403150
jmp case.default.0x4011f7
push ebx
mov ecx, esi
call fcn.00402820
jmp case.default.0x4011f7
push ebx
mov ecx, esi
call fcn.00402ca0
jmp case.default.0x4011f7
push ebx
mov ecx, esi
call fcn.004027c0
jmp case.default.0x4011f7
push ebx
mov ecx, esi
call fcn.004030c0
jmp case.default.0x4011f7
push ebx
mov ecx, esi
call fcn.004032e0
jmp case.default.0x4011f7
mov eax, dword [esp + 0x68]
mov ecx, esi
push eax
push ebx
call fcn.00402bb0
lea ecx, [esp + 0x5c]
mov dword [esp + 0x70], ebx
push ecx
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
push eax
lea ecx, [esp + 0x38]
call fcn.00431c92
test eax, eax
jne 0x401284
push eax
push eax
push str.Cannot_create_barcode
call fcn.004325b2
lea ecx, [esp + 0x3c]
call fcn.0043161e
push 0
mov byte [esp + 0x80], 3
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x40]
call fcn.004316d5
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x34]
neg eax
sbb eax, eax
and eax, ecx
push eax
push edx
call fcn.00431816
xor ebx, ebx
mov dword [esp + 0x2c], eax
mov bl, byte [esi + 6]
mov ecx, dword [esi + 0x21c]
mov eax, ebx
mov edi, ecx
imul eax, ebp
mov dword [esp + 0x24], ebx
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
neg edi
sbb edi, edi
and edi, 0xffffffc4
cdq
add edi, 0xb4
idiv edi
neg ecx
sbb ecx, ecx
and ecx, 0xffffff94
add ecx, 0xb4
mov ebp, eax
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
cdq
idiv ecx
mov edi, eax
mov al, byte [esi + 5]
cmp al, 7
jne 0x401325
mov edi, 0x78
mov ecx, dword [esi + 0x210]
mov dword [esp + 0x10], ebp
test ecx, ecx
mov dword [esp + 0x14], edi
je 0x401365
mov ecx, dword [esp + 0x98]
test ecx, ecx
jne 0x401365
test al, al
je 0x4015c2
cmp al, 3
je 0x4015c2
cmp al, 4
je 0x4015c2
lea eax, [ebx + ebx*4 + 5]
lea ecx, [edi + eax*8]
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x8c]
mov eax, dword [esp + 0x94]
test eax, eax
je 0x4015f8
mov edx, dword [0x4457b0]
mov dword [esp + 0x98], edx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x7c], 4
call fcn.004344b0
push 0
mov byte [esp + 0x80], 5
call dword [sym.imp.GDI32.dll_CreateMetaFileA]
push eax
lea ecx, [esp + 0x50]
call fcn.004316d5
test eax, eax
je 0x40159e
push 8
lea ecx, [esp + 0x50]
call fcn.0043193b
push 0
lea eax, [esp + 0x28]
push 0
push eax
lea ecx, [esp + 0x58]
call fcn.00431aa5
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
lea ecx, [esp + 0x58]
call fcn.00431af1
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x3c]
push 0xcc0020
neg eax
sbb eax, eax
push ecx
and eax, edx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
push edx
push 0
push 0
push eax
mov eax, dword [esp + 0xa8]
push edi
push ebp
push eax
push ebx
push ecx
call dword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
push edi
push ebp
push edx
push eax
lea ecx, [esp + 0x5c]
push ebx
push ecx
mov ecx, esi
call fcn.00401940
lea ecx, [esp + 0x4c]
call fcn.0043170c
push eax
call dword [sym.imp.GDI32.dll_CloseMetaFile]
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov eax, 0x51eb851f
lea ecx, [ecx + ecx*8]
shl ecx, 4
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 5
mov eax, edx
lea ecx, [ecx + ecx*8]
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
shl ecx, 4
mov edi, edx
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ebx, edx
lea edx, [esp + 0x98]
push ebx
push edi
push str._shp_shpinst_shpright_d_shpbottom_d_shpfhdr0_shpbxcolumn_shpbxignore_shpbypara_shpwr3_sp_sn_shapeType_sv_75_sp_sn_posrelh_sv_3_sp_sn_pib_sv
push edx
call fcn.0042ab8b
add esp, 0x10
mov eax, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
mov ecx, dword [eax - 8]
mov edx, dword [esi]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x38]
push ebx
push edi
push 6
lea eax, [esp + 0xa4]
push str.dn_dpictpicw_dpich_dwmetafile8
push eax
call fcn.0042ab8b
mov eax, dword [esp + 0xac]
mov edx, dword [esi]
add esp, 0x14
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x38]
push 0
push 0
push ebp
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
mov edi, eax
push edi
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
push ebx
push edi
push ebp
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
test edi, edi
mov dword [esp + 0x90], 0
jbe 0x401565
mov ecx, dword [esp + 0x90]
xor eax, eax
lea edx, [esp + 0x98]
mov al, byte [ecx + ebx]
push eax
push str._02x
push edx
call fcn.0042ab8b
mov eax, dword [esp + 0xa4]
mov edx, dword [esi]
add esp, 0xc
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x38]
mov eax, dword [esp + 0x90]
inc eax
cmp eax, edi
mov dword [esp + 0x90], eax
jb 0x40151d
push str._sp_sn_fLine_sv_0_sp_sn_fBehindDocument_sv_1_shprsltpict
lea ecx, [esp + 0x9c]
call fcn.0042bb81
mov eax, dword [esp + 0x98]
mov edx, dword [esi]
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x38]
push ebx
call dword [sym.imp.KERNEL32.dll_LocalHandle]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push ebp
call dword [sym.imp.GDI32.dll_DeleteMetaFile]
lea ecx, [esp + 0x4c]
mov byte [esp + 0x7c], 4
call fcn.00434507
lea ecx, [esp + 0x98]
mov byte [esp + 0x7c], 3
call fcn.0042ba44
jmp 0x40185e
lea edx, [ebx + ebx*4]
mov ebx, dword [esp + 0x8c]
shl edx, 3
add ebx, edx
lea ecx, [edx + ebp]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x24]
test al, al
lea ecx, [ecx + ecx*4 + 5]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x14], ecx
je 0x40136c
add dword [esp + 0x10], edx
jmp 0x40136c
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x401802
mov eax, dword [0x4457b0]
mov dword [esp + 0x8c], eax
mov byte [esp + 0x7c], 6
call fcn.00404e60
mov ecx, dword [esp + 0x98]
push eax
mov dword [esp + 0x98], eax
call fcn.00404e80
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
imul edx, ecx
push edx
mov edx, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x24]
push ecx
mov dword [esp + 0x94], eax
push eax
push edx
lea eax, [esp + 0xa0]
push str._d_0_obj_n___n_Type_XObject_Subtype_Image_Name_I_d_n_Width__d__Height__d__BitsPerComponent_1_n_ColorSpace_DeviceGray_Length__d__stream_n
push eax
call fcn.0042ab8b
add esp, 0x18
lea edx, [esp + 0x90]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
call fcn.0042b7b9
mov ecx, dword [esp + 0x9c]
call fcn.00404de0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x20]
imul eax, dword [esp + 0x64]
push eax
push ecx
mov ecx, dword [esp + 0xa0]
call fcn.00404e40
push str._nendstream_nendobj_n
lea ecx, [esp + 0x90]
call fcn.0042bb81
push ecx
lea edx, [esp + 0x90]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
call fcn.0042b7b9
mov ecx, dword [esp + 0x9c]
call fcn.00404de0
lea ebp, [ebp + ebp*8]
mov eax, 0x10624dd3
shl ebp, 3
imul ebp
sar edx, 6
mov eax, edx
lea edi, [edi + edi*8]
shr eax, 0x1f
add edx, eax
mov eax, 0x10624dd3
shl edi, 3
mov ecx, edx
imul edi
mov ebp, dword [esp + 0x90]
add ebx, 4
sar edx, 6
mov eax, edx
mov dword [esp + 0x98], ecx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x88]
sub ebp, edx
push eax
lea eax, [ebp + 0xa]
push eax
push ebx
push edx
push ecx
lea ecx, [esp + 0x2c]
push str._Tj_ET_nq__d_0_0__d__d__d_cm__I_d_Do_Q_nBT
push ecx
call fcn.0042ab8b
mov eax, dword [esi + 0x210]
add esp, 0x1c
test eax, eax
je 0x4017cd
add esi, 0x10c
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
fld dword [0x4376c4]
mov eax, dword [esp + 0x98]
mov edx, ebx
not ecx
dec ecx
lea ecx, [ecx + ecx*2]
shl ecx, 1
cmp eax, ecx
jge 0x40179f
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
fstp st(0)
fild dword [esp + 0x98]
not ecx
dec ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
fidiv dword [esp + 0x24]
fmul dword [0x4376c0]
jmp 0x4017aa
sub eax, ecx
cdq
sub eax, edx
mov edx, eax
sar edx, 1
add edx, ebx
add ebp, 2
push esi
push ebp
push edx
sub esp, 8
lea edx, [esp + 0xa0]
fstp qword [esp]
push str.__F1_10_Tf__.4f_0_0_1__d__d_Tm__s
push edx
call fcn.0042ab8b
add esp, 0x1c
jmp 0x4017de
push 0x4400b0
lea ecx, [esp + 0x90]
call fcn.0042bb81
lea eax, [esp + 0x8c]
lea ecx, [esp + 0x18]
push eax
call fcn.0042be10
lea ecx, [esp + 0x8c]
mov byte [esp + 0x7c], 3
call fcn.0042ba44
jmp 0x40185e
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x64]
lea eax, [esp + 0x3c]
push 0x8800c6
neg edi
neg eax
sbb eax, eax
push ecx
mov ecx, dword [esp + 0x90]
and eax, edx
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [ecx + 4]
push 0
push 0
push eax
mov eax, dword [esp + 0xa8]
push edi
push ebp
push eax
push ebx
push edx
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x88]
push edi
push ebp
push 0
push eax
push ebx
push ecx
mov ecx, esi
call fcn.00401940
mov esi, dword [esp + 0x2c]
test esi, esi
jne 0x40186a
xor eax, eax
jmp 0x40186d
mov eax, dword [esi + 4]
mov edx, dword [esp + 0x40]
push eax
push edx
call fcn.00431816
lea ecx, [esp + 0x34]
call fcn.00431ce9
lea ecx, [esp + 0x3c]
call fcn.0043173d
mov ecx, esi
call fcn.00431ce9
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_LocalHandle]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, dword [esp + 0x84]
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.0042b7b9
mov dword [esp + 0x30], 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x7c], 2
call fcn.00431753
mov dword [esp + 0x34], vtable.CGdiObject.0
lea ecx, [esp + 0x34]
mov byte [esp + 0x7c], 7
call fcn.00431ce9
lea ecx, [esp + 0x18]
mov byte [esp + 0x7c], 0
call fcn.0042ba44
mov ecx, dword [esp + 0x74]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x70
ret 0x1c