Function at 0x404ed0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x42b711
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x354
mov eax, dword [0x437d10]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x10], eax
xor esi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x36c], esi
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x36c], 2
call fcn.004211b8
mov eax, dword [0x437d10]
mov dword [esp + 0x48], eax
push esi
lea ecx, [esp + 0x4c]
mov byte [esp + 0x370], 4
mov dword [esp + 0x3c], vtable.CFileException.0
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], 0xffffffff
call fcn.004202ba
lea ecx, [esp + 0x4c]
mov byte [esp + 0x36c], 5
call fcn.004215df
mov byte [esp + 0x36c], 6
call fcn.00427e25
mov eax, dword [eax + 8]
lea ecx, [esp + 0x64]
push 0x100
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x64]
lea ecx, [esp + 0x20]
push edx
call fcn.0042019f
push 0x5c
lea ecx, [esp + 0x24]
mov byte [esp + 0x370], 7
call fcn.0041f27c
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x28]
call fcn.0041f204
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x370], 8
call fcn.0042026a
lea ecx, [esp + 0x2c]
mov byte [esp + 0x36c], 7
call fcn.00420131
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x264]
push ecx
push 0x4370c0
push edx
call fcn.004120d1
mov eax, dword [0x43bcd8]
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x34], esi
jbe 0x406062
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esp + 0x30], 0x43bf20
mov ebp, 0x46c56c
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x264]
add eax, 0xb8
lea edx, [esp + 0x10]
push eax
push ecx
push 0x4373a0
push edx
call fcn.0041f616
add esp, 0xc
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.0041fea6
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x68]
call fcn.00404de0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x370], 9
call fcn.0042026a
lea ecx, [esp + 0x5c]
mov byte [esp + 0x36c], 7
call fcn.00420131
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x38]
push edx
push 0
push eax
lea ecx, [esp + 0x58]
call fcn.004216f1
test eax, eax
je 0x4060f1
lea ecx, [esp + 0x4c]
call fcn.0042190c
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x64]
push ecx
push 0x100
push edx
push str.ELTRON
push str.Printer_Model
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x64]
push ecx
push eax
call fcn.00406790
add esp, 8
mov edi, str.ZEBRA
lea esi, [esp + 0x64]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40510c
test al, al
je 0x405108
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40510c
add esi, 2
add edi, 2
test al, al
jne 0x4050e4
xor eax, eax
jmp 0x405111
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40511a
mov dword [ebp], eax
jmp 0x40515f
mov edi, str.ELTRON
lea esi, [esp + 0x64]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40514b
test al, al
je 0x405147
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40514b
add esi, 2
add edi, 2
test al, al
jne 0x405123
xor eax, eax
jmp 0x405150
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4063e0
mov dword [ebp], 1
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x64]
push eax
push 0x100
push ecx
push 0x43bc08
push str.OUTPORT
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [esp + 0x2c], eax
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + 0x64]
push ecx
push edx
call fcn.00406790
add esp, 8
mov esi, str.FILE
lea edi, [esp + 0x64]
mov cl, byte [edi]
mov dl, byte [esi]
mov al, cl
cmp cl, dl
jne 0x4051d4
test al, al
je 0x4051d0
mov dl, byte [edi + 1]
mov cl, byte [esi + 1]
mov al, dl
cmp dl, cl
jne 0x4051d4
add edi, 2
add esi, 2
test al, al
jne 0x4051ac
xor eax, eax
jmp 0x4051d9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x405297
mov edi, str.NETWORK
lea esi, [esp + 0x64]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x405212
test al, al
je 0x40520e
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x405212
add esi, 2
add edi, 2
test al, al
jne 0x4051ea
xor eax, eax
jmp 0x405217
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x405297
mov edi, str.TCPIP
lea esi, [esp + 0x64]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40524c
test al, al
je 0x405248
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40524c
add esi, 2
add edi, 2
test al, al
jne 0x405224
xor eax, eax
jmp 0x405251
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40525f
lea edx, [ebp + 4]
mov edi, str.TCPIP
jmp 0x40529f
cmp dword [esp + 0x2c], 3
jb 0x4052bc
mov dx, word [esp + 0x64]
mov al, byte [esp + 0x66]
lea ecx, [ebp + 4]
mov word [ebp + 4], dx
mov byte [ecx + 2], al
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x18]
call fcn.004202ba
mov edx, dword [esp + 0x14]
movsx eax, byte [edx + 3]
sub eax, 0x30
mov dword [ebp + 0x10], eax
jmp 0x4052bc
lea edx, [ebp + 4]
mov edi, str.FILE
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
push ecx
push 0x2580
push str.BAUD_RATE
push str.SETUP
call ebx
mov edx, dword [esp + 0x10]
mov dword [ebp + 0x14], eax
push edx
push 1
push str.STOP_BITS
push str.SETUP
call ebx
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x10]
push eax
push 8
push str.DATA_BIT
push str.SETUP
call ebx
mov ecx, dword [esp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push ecx
lea edx, [esp + 0x68]
push 0x100
push edx
push 0x43775c
push str.Parity
push str.SETUP
mov dword [ebp + 0x1c], eax
call esi
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x64]
push ecx
push eax
call fcn.00406790
add esp, 8
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x18]
call fcn.004202ba
mov edx, dword [esp + 0x14]
movsx eax, byte [edx]
sub eax, 0x45
je 0x405377
sub eax, 9
je 0x405365
dec eax
je 0x40536e
mov dword [ebp + 0x20], 0
jmp 0x40537e
mov dword [ebp + 0x20], 1
jmp 0x40537e
mov dword [ebp + 0x20], 2
mov ecx, dword [esp + 0x10]
lea eax, [ebp + 0x74]
push ecx
push 0x50
push eax
push 0x43bc08
push str.Text___file_Path
push str.SETUP
call esi
mov edx, dword [esp + 0x30]
cmp dword [edx], 3
jne 0x4053ac
mov eax, edx
add eax, 0x16c
jmp 0x4053af
lea eax, [ebp + 0x74]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
lea edx, [esp + 0x16c]
push str._s_s
push edx
call fcn.004120d1
lea edi, [esp + 0x174]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
lea edi, [ebp + 0x74]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp + 0x74]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x38]
push ecx
push 0
push eax
lea ecx, [esp + 0x58]
call fcn.004216f1
test eax, eax
je 0x40615a
lea ecx, [esp + 0x4c]
call fcn.0042190c
mov edx, dword [esp + 0x10]
lea esi, [ebp + 0x24]
push edx
push 0x50
push esi
push 0x43bc08
push str.Format_file_Path
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [esp + 0x1c]
push esi
push eax
lea ecx, [esp + 0x16c]
push str._s_s
push ecx
call fcn.004120d1
lea edi, [esp + 0x174]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [ebp + 0x24]
mov edx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x38]
push ecx
push 0
push eax
lea ecx, [esp + 0x58]
call fcn.004216f1
test eax, eax
je 0x4061e1
lea ecx, [esp + 0x4c]
call fcn.0042190c
mov edx, dword [esp + 0x10]
lea eax, [ebp + 0xc4]
push edx
push 0x50
push eax
push 0x43bc08
push str.Output_file_Path
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x405522
mov edi, str.FILE
lea esi, [ebp + 4]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x4054ef
test al, al
je 0x4054eb
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x4054ef
add esi, 2
add edi, 2
test al, al
jne 0x4054c7
xor eax, eax
jmp 0x4054f4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x406268
mov edi, 0x43bc08
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
lea edi, [ebp + 0xc4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
lea eax, [ebp + 0x114]
push ecx
push 0x50
push eax
push 0x43bc08
push str.LabelPreambleFile
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x405592
mov edx, dword [esp + 0x1c]
lea eax, [ebp + 0x114]
push eax
push edx
lea eax, [esp + 0x16c]
push str._s_s
push eax
call fcn.004120d1
lea edi, [esp + 0x174]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0x114]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
lea eax, [ebp + 0x164]
push ecx
push 0x50
push eax
push 0x43bc08
push str.LabelPostambleFile
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x405602
mov edx, dword [esp + 0x1c]
lea eax, [ebp + 0x164]
push eax
push edx
lea eax, [esp + 0x16c]
push str._s_s
push eax
call fcn.004120d1
lea edi, [esp + 0x174]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0x164]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
lea eax, [ebp + 0x1b4]
push ecx
push 0x50
push eax
push 0x43bc08
push str.PagePreambleFile
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x405672
mov edx, dword [esp + 0x1c]
lea eax, [ebp + 0x1b4]
push eax
push edx
lea eax, [esp + 0x16c]
push str._s_s
push eax
call fcn.004120d1
lea edi, [esp + 0x174]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0x1b4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
lea eax, [ebp + 0x204]
push ecx
push 0x50
push eax
push 0x43bc08
push str.PagePostambleFile
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jbe 0x4056e2
mov edx, dword [esp + 0x1c]
lea eax, [ebp + 0x204]
push eax
push edx
lea eax, [esp + 0x16c]
push str._s_s
push eax
call fcn.004120d1
lea edi, [esp + 0x174]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0x204]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x64]
push eax
push 0x100
push ecx
push 0x4376bc
push str.Form_Show
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
call fcn.00406790
add esp, 8
mov edi, 0x4376ac
lea esi, [esp + 0x64]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x405753
test al, al
je 0x40574f
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x405753
add esi, 2
add edi, 2
test al, al
jne 0x40572b
xor eax, eax
jmp 0x405758
sbb eax, eax
sbb eax, 0xffffffff
mov edx, dword [esp + 0x10]
xor ecx, ecx
test eax, eax
push edx
push 0
sete cl
push str.EAN_UPC_ITEM
push str.SETUP
mov dword [ebp + 0x2b8], ecx
call ebx
mov dword [ebp + 0x258], eax
mov eax, dword [esp + 0x10]
push eax
push 0
push str.DATA_COMPRESS
push str.SETUP
call ebx
mov ecx, dword [esp + 0x10]
lea esi, [ebp + 0x25c]
push ecx
push 0x50
push esi
push 0x43bc08
push str.LOGO___file_Path
push str.SETUP
mov dword [ebp + 0x254], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
call fcn.00406790
mov edx, dword [esp + 0x18]
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp + 0x2ac]
push edx
push 2
push eax
push 0x43bc08
push str.CONTROL_CODE
push str.SETUP
call esi
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x64]
push ecx
push 0x100
push edx
push str.NULL
push str.Field_Delimiter
push str.SETUP
call esi
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x64]
push ecx
push eax
call fcn.00406790
add esp, 8
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x18]
call fcn.004202ba
mov ecx, dword [esp + 0x14]
mov word [ebp + 0x2ae], 0
mov dword [ebp + 0x2b4], 1
mov esi, str.NULL
mov edi, ecx
mov dl, byte [edi]
mov al, dl
cmp dl, byte [esi]
jne 0x405881
test al, al
je 0x40587d
mov dl, byte [edi + 1]
mov al, dl
cmp dl, byte [esi + 1]
jne 0x405881
add edi, 2
add esi, 2
test al, al
jne 0x40585d
xor eax, eax
jmp 0x405886
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4059bc
mov edi, 0x43bc08
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x4058b9
test al, al
je 0x4058b5
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x4058b9
add esi, 2
add edi, 2
test al, al
jne 0x405895
xor eax, eax
jmp 0x4058be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4059bc
mov edi, 0x43764c
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x4058f1
test al, al
je 0x4058ed
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x4058f1
add esi, 2
add edi, 2
test al, al
jne 0x4058cd
xor eax, eax
jmp 0x4058f6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x405906
mov byte [ebp + 0x2ae], 9
jmp 0x4059c6
mov edi, str.SPACE
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x405931
test al, al
je 0x40592d
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x405931
add esi, 2
add edi, 2
test al, al
jne 0x40590d
xor eax, eax
jmp 0x405936
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x405946
mov byte [ebp + 0x2ae], 0x20
jmp 0x4059c6
mov edi, 0x437640
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x405971
test al, al
je 0x40596d
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x405971
add esi, 2
add edi, 2
test al, al
jne 0x40594d
xor eax, eax
jmp 0x405976
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4059b2
mov edi, 0x43763c
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x4059a5
test al, al
je 0x4059a1
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x4059a5
add esi, 2
add edi, 2
test al, al
jne 0x405981
xor eax, eax
jmp 0x4059aa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4062ba
mov al, byte [ecx]
mov byte [ebp + 0x2ae], al
jmp 0x4059c6
mov dword [ebp + 0x2b4], 0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x64]
push eax
push 0x100
push ecx
push str.CRLF
push str.Record_Delimiter
push str.SETUP
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
call fcn.00406790
add esp, 8
lea eax, [esp + 0x64]
lea ecx, [esp + 0x14]
push eax
call fcn.004202ba
mov ecx, dword [esp + 0x14]
mov edi, 0x43761c
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x405a43
test al, al
je 0x405a3f
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x405a43
add esi, 2
add edi, 2
test al, al
jne 0x405a1f
xor eax, eax
jmp 0x405a48
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x405a5a
lea eax, [ebp + 0x2b0]
mov byte [eax], 0xd
jmp 0x405bd6
mov edi, 0x437618
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x405a85
test al, al
je 0x405a81
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x405a85
add esi, 2
add edi, 2
test al, al
jne 0x405a61
xor eax, eax
jmp 0x405a8a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x405a9c
lea eax, [ebp + 0x2b0]
mov byte [eax], 0xa
jmp 0x405bd6
mov edi, str.CRLF
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x405ac7
test al, al
je 0x405ac3
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x405ac7
add esi, 2
add edi, 2
test al, al
jne 0x405aa3
xor eax, eax
jmp 0x405acc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x405bc6
mov edi, 0x43bc08
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x405aff
test al, al
je 0x405afb
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x405aff
add esi, 2
add edi, 2
test al, al
jne 0x405adb
xor eax, eax
jmp 0x405b04
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x405bc6
mov edi, 0x43764c
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x405b37
test al, al
je 0x405b33
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x405b37
add esi, 2
add edi, 2
test al, al
jne 0x405b13
xor eax, eax
jmp 0x405b3c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x405b4e
lea eax, [ebp + 0x2b0]
mov byte [eax], 9
jmp 0x405bd6
mov edi, 0x437640
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x405b79
test al, al
je 0x405b75
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x405b79
add esi, 2
add edi, 2
test al, al
jne 0x405b55
xor eax, eax
jmp 0x405b7e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x405bba
mov edi, 0x43763c
mov esi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x405bad
test al, al
je 0x405ba9
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x405bad
add esi, 2
add edi, 2
test al, al
jne 0x405b89
xor eax, eax
jmp 0x405bb2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40634d
mov cl, byte [ecx]
lea eax, [ebp + 0x2b0]
mov byte [eax], cl
jmp 0x405bd6
lea eax, [ebp + 0x2b0]
mov byte [eax], 0xd
mov byte [ebp + 0x2b1], 0xa
push eax
call fcn.00401490
cmp dword [ebp + 0x2b4], 1
jne 0x405bf1
lea eax, [ebp + 0x2ae]
push eax
call fcn.00401470
mov eax, dword [esp + 0x10]
push eax
push 0xffffffffffffffff
push str.ITEMNUM
push str.LABELAYOUT
call ebx
mov ecx, dword [esp + 0x10]
mov dword [ebp + 0x2bc], eax
push ecx
push 1
push str.LABELNUM_PER_PAGE
push str.LABELAYOUT
call ebx
mov edx, dword [esp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp + 0x2c0], eax
push edx
lea eax, [ebp + 0x2c4]
push 0x14
push eax
push 0x43bc08
push str.EAN_UPC_ITEM
push str.MULTILABEL
call edi
mov ecx, dword [esp + 0x10]
lea edx, [ebp + 0x2d8]
push ecx
push 0x50
push edx
push 0x43bc08
push str.EAN13_FMT
push str.MULTILABEL
call edi
mov eax, dword [esp + 0x10]
lea ecx, [ebp + 0x328]
push eax
push 0x50
push ecx
push 0x43bc08
push str.EAN8_FMT
push str.MULTILABEL
call edi
mov edx, dword [esp + 0x10]
lea eax, [ebp + 0x378]
push edx
push 0x50
push eax
push 0x43bc08
push str.UPCE_FMT
push str.MULTILABEL
call edi
mov ecx, dword [esp + 0x10]
lea edx, [ebp + 0x3c8]
push ecx
push 0x50
push edx
push 0x43bc08
push str.UPCA_FMT
push str.MULTILABEL
call edi
mov eax, dword [esp + 0x10]
push eax
push 0xd
push str.EAN13_LEN
push str.MULTILABEL
call ebx
mov ecx, dword [esp + 0x10]
mov dword [ebp + 0x418], eax
push ecx
push 8
push str.EAN8_LEN
push str.MULTILABEL
call ebx
mov edx, dword [esp + 0x10]
mov dword [ebp + 0x41c], eax
push edx
push 7
push str.UPCE_LEN
push str.MULTILABEL
call ebx
mov dword [ebp + 0x420], eax
mov eax, dword [esp + 0x10]
push eax
push 0xc
push str.UPCA_LEN
push str.MULTILABEL
call ebx
mov ecx, dword [esp + 0x10]
lea edx, [ebp + 0x428]
push ecx
push 0x40
push edx
push 0x43bc08
push str.Host_IP
push str.NETWORK
mov dword [ebp + 0x424], eax
call edi
mov eax, dword [esp + 0x10]
xor esi, esi
push eax
push esi
push str.Host_port
push str.NETWORK
call ebx
mov ecx, dword [0x437d10]
mov dword [ebp + 0x468], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x18], ecx
mov byte [esp + 0x36c], 0x11
mov dword [esp + 0x24], 1
lea esi, [ebp + 0x488]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x18]
push edx
push str.ITEM
push str._s_04d
push eax
call fcn.0041f616
mov ecx, dword [esp + 0x28]
add esp, 0x10
lea edx, [esi - 0x18]
push ecx
push 0x4370c0
push edx
call fcn.004120d1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
add esp, 0xc
push eax
push 0xffffffffffffffff
push str.DATA_LENGTH
push ecx
call ebx
cmp eax, 0xffffffff
mov dword [esi], eax
je 0x405edc
mov eax, dword [esp + 0x2c]
mov dword [esi - 4], eax
mov edx, dword [esi]
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
push edx
push 0
push str.FONT_SIZE
push eax
call ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push ecx
push 0
push str.FONT_WEIGHT
push edx
mov dword [esi + 0xa4], eax
call ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
lea eax, [eax + eax*4]
push ecx
push 0
push str.SPACE
lea eax, [eax + eax*4]
push edx
shl eax, 2
mov dword [esi + 0xa8], eax
call ebx
mov ecx, dword [esp + 0x18]
mov dword [esi + 0xac], eax
mov eax, dword [esp + 0x10]
push eax
push 0
push str.ZERO
push ecx
call ebx
mov edx, dword [esp + 0x10]
mov dword [esi + 0xb0], eax
mov eax, dword [esp + 0x18]
push edx
push 0
push str.STR_CENTER
push eax
call ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push ecx
push 0
push str.ROTATE
push edx
mov dword [esi + 0xb4], eax
call ebx
mov edx, dword [esp + 0x18]
mov dword [esi + 0xb8], eax
mov eax, dword [esp + 0x10]
lea ecx, [esi + 4]
push eax
push 0x50
push ecx
push 0x43bc08
push str.PROMPT
push edx
call edi
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push eax
lea ecx, [esi + 0x54]
push 0x50
push ecx
push 0x43bc08
push str.FONT_NAME
push edx
call edi
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
inc edx
inc ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
add esi, 0xd4
jmp 0x405d89
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [ebp + 0x46c], eax
mov dword [esp + 0x24], 1
lea esi, [ebp + 0x575c]
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x18]
push ecx
push str.TITLE
push str._s_03d
push edx
call fcn.0041f616
mov eax, dword [esp + 0x28]
add esp, 0x10
lea ecx, [esi - 0x18]
push eax
push 0x4370c0
push ecx
call fcn.004120d1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
add esp, 0xc
push edx
push 0x50
push esi
push 0x43bc08
push str.TEXT
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40601c
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push ecx
push eax
push str.DATA_LENGTH
push edx
call ebx
mov ecx, dword [esp + 0x18]
mov dword [esi - 4], eax
mov eax, dword [esp + 0x10]
push eax
push 0
push str.FONT_SIZE
push ecx
call ebx
mov edx, dword [esp + 0x10]
mov dword [esi + 0xa0], eax
mov eax, dword [esp + 0x18]
push edx
push 0
push str.FONT_WEIGHT
push eax
call ebx
mov edx, dword [esp + 0x10]
lea eax, [eax + eax*4]
push edx
push 0x50
lea ecx, [eax + eax*4]
lea eax, [esi + 0x50]
shl ecx, 2
mov dword [esi + 0xa4], ecx
mov ecx, dword [esp + 0x20]
push eax
push 0x43bc08
push str.FONT_NAME
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push edx
push 0
push str.STR_CENTER
push eax
call ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push ecx
push 0
push str.ROTATE
push edx
mov dword [esi + 0xa8], eax
call ebx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
inc edx
inc ecx
mov dword [esi + 0xac], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
add esi, 0xc8
jmp 0x405efc
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x18]
mov dword [ebp + 0x5740], eax
mov byte [esp + 0x36c], 7
call fcn.00420131
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ecx, dword [0x43bcd8]
inc eax
add esi, 0x7c0
add ebp, 0xa564
cmp eax, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], esi
jb 0x405010
lea ecx, [esp + 0x20]
mov byte [esp + 0x36c], 6
call fcn.00420131
lea ecx, [esp + 0x4c]
mov byte [esp + 0x36c], 5
call fcn.00421634
mov dword [esp + 0x38], vtable.CFileException.0
lea ecx, [esp + 0x48]
mov byte [esp + 0x36c], 0x12
call fcn.00420131
lea ecx, [esp + 0x14]
mov byte [esp + 0x36c], 1
call fcn.00420131
lea ecx, [esp + 0x1c]
mov byte [esp + 0x36c], 0
call fcn.00420131
lea ecx, [esp + 0x10]
mov dword [esp + 0x36c], 0xffffffff
call fcn.00420131
mov eax, 1
mov ecx, dword [esp + 0x364]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x360
ret
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push str._s_file_not_found_____n
push edx
call fcn.0041f616
mov eax, dword [esp + 0x20]
add esp, 0xc
push 0
push 0
push eax
call fcn.00426f03
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004067c0
add esp, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x36c], 6
call fcn.00420131
lea ecx, [esp + 0x4c]
mov byte [esp + 0x36c], 5
call fcn.00421634
mov dword [esp + 0x38], vtable.CFileException.0
mov byte [esp + 0x36c], 0xa
jmp 0x40639a
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
mov ecx, eax
push edx
shl ecx, 5
add ecx, eax
shl ecx, 4
add ecx, eax
lea eax, [eax + ecx*4]
lea ecx, [esp + 0x18]
lea edx, [eax + eax*4]
lea eax, [edx*4 + 0x46c5e0]
push eax
push str.Text_file___s_not_found______s
push ecx
call fcn.0041f616
mov edx, dword [esp + 0x24]
add esp, 0x10
push 0
push 0
push edx
call fcn.00426f03
mov eax, dword [esp + 0x14]
push eax
call fcn.004067c0
add esp, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x36c], 6
call fcn.00420131
lea ecx, [esp + 0x4c]
mov byte [esp + 0x36c], 5
call fcn.00421634
mov dword [esp + 0x38], vtable.CFileException.0
mov byte [esp + 0x36c], 0xc
jmp 0x40639a
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov edx, eax
push ecx
shl edx, 5
add edx, eax
shl edx, 4
add edx, eax
lea eax, [eax + edx*4]
lea edx, [esp + 0x18]
lea eax, [eax + eax*4]
lea ecx, [eax*4 + 0x46c590]
push ecx
push str.Format_file___s_not_found______s
push edx
call fcn.0041f616
mov eax, dword [esp + 0x24]
add esp, 0x10
push 0
push 0
push eax
call fcn.00426f03
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004067c0
add esp, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x36c], 6
call fcn.00420131
lea ecx, [esp + 0x4c]
mov byte [esp + 0x36c], 5
call fcn.00421634
mov dword [esp + 0x38], vtable.CFileException.0
mov byte [esp + 0x36c], 0xd
jmp 0x40639a
push 0
push 0
push str.Output_file_Path_is_empty_n
call fcn.00426f03
push str.Output_file_Path_is_empty_n
call fcn.004067c0
add esp, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x36c], 6
call fcn.00420131
lea ecx, [esp + 0x4c]
mov byte [esp + 0x36c], 5
call fcn.00421634
mov dword [esp + 0x38], vtable.CFileException.0
mov byte [esp + 0x36c], 0xe
jmp 0x40639a
push 0
push 0
push str.Field_Delimiter_format_error_____n
call fcn.00426f03
push str.Field_Delimiter_format_error_____n
call fcn.004067c0
add esp, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x36c], 6
call fcn.00420131
lea ecx, [esp + 0x4c]
mov byte [esp + 0x36c], 5
call fcn.00421634
mov dword [esp + 0x38], vtable.CFileException.0
lea ecx, [esp + 0x48]
mov byte [esp + 0x36c], 0xf
call fcn.00420131
lea ecx, [esp + 0x14]
mov byte [esp + 0x36c], 1
call fcn.00420131
lea ecx, [esp + 0x1c]
mov byte [esp + 0x36c], 0
call fcn.00420131
lea ecx, [esp + 0x10]
mov dword [esp + 0x36c], 0xffffffff
call fcn.00420131
xor eax, eax
jmp 0x4060d8
push 0
push 0
push str.Record_Delimiter_format_error_____n
call fcn.00426f03
push str.Record_Delimiter_format_error_____n
call fcn.004067c0
add esp, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x36c], 6
call fcn.00420131
lea ecx, [esp + 0x4c]
mov byte [esp + 0x36c], 5
call fcn.00421634
mov dword [esp + 0x38], vtable.CFileException.0
mov byte [esp + 0x36c], 0x10
lea ecx, [esp + 0x48]
call fcn.00420131
lea ecx, [esp + 0x14]
mov byte [esp + 0x36c], 1
call fcn.00420131
lea ecx, [esp + 0x1c]
mov byte [esp + 0x36c], 0
call fcn.00420131
lea ecx, [esp + 0x10]
mov dword [esp + 0x36c], 0xffffffff
call fcn.00420131
xor eax, eax
jmp 0x4060d8
push 0
push 0
push str.Printer_Model_error._n
call fcn.00426f03
push str.Printer_Model_error._n
call fcn.004067c0
add esp, 4
lea ecx, [esp + 0x20]
mov byte [esp + 0x36c], 6
call fcn.00420131
lea ecx, [esp + 0x4c]
mov byte [esp + 0x36c], 5
call fcn.00421634
mov dword [esp + 0x38], vtable.CFileException.0
mov byte [esp + 0x36c], 0xb
jmp 0x40639a