Function at 0x4088b0
Capabilities:
Check if file exists

Disassembly:
mov eax, 0x43d215
call fcn.0041dba4
push ecx
push ebx
push esi
push edi
mov esi, ecx
push dword [ebp + 8]
mov dword [ebp - 0x10], esi
push 0x81
call fcn.0042d7f9
and dword [ebp - 4], 0
lea ecx, [esi + 0x5c]
call fcn.00411a4d
lea ecx, [esi + 0x114]
mov byte [ebp - 4], 1
call fcn.00411a4d
lea ecx, [esi + 0x1cc]
mov byte [ebp - 4], 2
call fcn.00411a4d
lea ecx, [esi + 0x284]
mov byte [ebp - 4], 3
call fcn.00411a4d
lea ecx, [esi + 0x33c]
mov byte [ebp - 4], 4
call fcn.0040f597
lea edi, [esi + 0x3a8]
mov byte [ebp - 4], 5
mov ecx, edi
call fcn.0042dda8
mov dword [edi], 0x402f08
lea ecx, [esi + 0x3e4]
mov byte [ebp - 4], 6
call fcn.0040f597
lea ecx, [esi + 0x450]
mov byte [ebp - 4], 7
call fcn.0040f597
lea ecx, [esi + 0x4bc]
mov byte [ebp - 4], 8
call fcn.0040f597
lea ecx, [esi + 0x528]
mov byte [ebp - 4], 9
call fcn.0040f597
lea ecx, [esi + 0x594]
mov byte [ebp - 4], 0xa
call fcn.0040987a
and dword [esi + 0x5a0], 0
lea eax, [esi + 0x59c]
mov dword [eax], 0x403c4c
mov eax, dword [0x446090]
lea ebx, [esi + 0x5a4]
mov dword [ebx], eax
mov eax, dword [0x446090]
mov dword [esi + 0x5ac], eax
mov eax, dword [0x446090]
mov dword [esi + 0x5b4], eax
mov eax, dword [0x446090]
mov dword [esi + 0x5bc], eax
mov eax, dword [0x446090]
mov dword [esi + 0x5c4], eax
mov eax, dword [0x446090]
mov dword [esi + 0x5c8], eax
mov dword [esi], 0x401718
mov eax, dword [0x446090]
mov dword [ebp + 8], eax
mov edi, str.C:COMDATA
lea ecx, [ebp + 8]
push edi
mov byte [ebp - 4], 0x13
call fcn.0043185e
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x408a03
push edi
call fcn.00411a3b
pop ecx
push 0x445168
lea ecx, [ebp + 8]
call fcn.00431a3d
push str.port.ini
lea ecx, [ebp + 8]
call fcn.00431a3d
push dword [ebp + 8]
mov edi, 0x104
mov ecx, ebx
push edi
push edi
call fcn.00431a7c
push eax
push str.COM1
mov ebx, str.PortConfig
push str.PortName
push ebx
lea ecx, [esi + 0x594]
call fcn.004098ed
push 0xffffffffffffffff
lea ecx, [esi + 0x5a4]
call fcn.00431acb
push dword [ebp + 8]
lea ecx, [esi + 0x5ac]
push edi
push edi
call fcn.00431a7c
push eax
push str.9600
push str.BaudRate
push ebx
lea ecx, [esi + 0x594]
call fcn.004098ed
push 0xffffffffffffffff
lea ecx, [esi + 0x5ac]
call fcn.00431acb
push dword [ebp + 8]
lea ecx, [esi + 0x5b4]
push edi
push edi
call fcn.00431a7c
push eax
push 0x445124
push str.DataBits
push ebx
lea ecx, [esi + 0x594]
call fcn.004098ed
push 0xffffffffffffffff
lea ecx, [esi + 0x5b4]
call fcn.00431acb
push dword [ebp + 8]
lea ecx, [esi + 0x5c4]
push edi
push edi
call fcn.00431a7c
push eax
push 0x445114
push str.StopBits
push ebx
lea ecx, [esi + 0x594]
call fcn.004098ed
push 0xffffffffffffffff
lea ecx, [esi + 0x5c4]
call fcn.00431acb
push dword [ebp + 8]
lea ecx, [esi + 0x5bc]
push edi
push edi
call fcn.00431a7c
push eax
push 0x445100
lea edi, [esi + 0x594]
push str.Parity
push ebx
mov ecx, edi
call fcn.004098ed
push 0xffffffffffffffff
lea ecx, [esi + 0x5bc]
call fcn.00431acb
push dword [ebp + 8]
push 0
push str.byParity
push ebx
mov ecx, edi
call fcn.0040990c
push dword [ebp + 8]
mov ecx, edi
mov byte [esi + 0x5b8], al
push 0
push str.byStopBits
push ebx
call fcn.0040990c
push dword [esi + 0x5ac]
mov byte [esi + 0x5c0], al
call fcn.0041d7c3
push dword [esi + 0x5b4]
mov dword [esi + 0x5a8], eax
call fcn.0041d7c3
pop ecx
mov byte [esi + 0x5b0], al
pop ecx
push 0x94cccc
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push eax
lea ecx, [esi + 0x59c]
call fcn.004347e8
lea ecx, [esi + 0x5c8]
call fcn.00431660
lea ecx, [ebp + 8]
mov dword [esi + 0x5cc], 1
mov byte [ebp - 4], 0x12
call fcn.004316d5
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4