Function at 0x401690
Capabilities:
Read file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x360
mov eax, dword [0x4b3008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov eax, ecx
mov esi, edx
push 0x4b4148
push eax
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x324], eax
call dword [sym.imp.USER32.dll_GetClientRect]
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [0x4b42fc]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
mov edi, eax
push edi
mov dword [ebp - 0x30c], edi
call esi
mov ecx, dword [0x4b4154]
sub ecx, dword [0x4b414c]
mov dword [ebp - 0x350], eax
mov eax, dword [0x4b4150]
sub eax, dword [0x4b4148]
push ecx
push eax
push dword [ebp - 0x340]
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push edi
mov dword [ebp - 0x354], eax
call esi
mov ecx, dword [0x4b414c]
inc ecx
mov dword [ebp - 0x34c], eax
mov eax, dword [0x4b4154]
mov dword [ebp - 0x2c4], ecx
add eax, 0xffffffef
mov ecx, dword [0x4b4150]
dec ecx
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2c0], ecx
mov ecx, dword [0x4b4148]
inc ecx
push 0xf
mov dword [ebp - 0x2c8], ecx
call dword [sym.imp.USER32.dll_GetSysColor]
movups xmm0, xmmword [0x4b4148]
push eax
push edi
movups xmmword [ebp - 0x2d8], xmm0
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2d8]
push eax
push 2
push dword [ebp - 0x2d4]
push dword [ebp - 0x2d8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
push edi
call esi
push 1
push edi
call dword [sym.imp.GDI32.dll_SetBkMode]
push 0
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp dword [0x4b4178], 0
jne 0x401e48
cmp dword [0x7c1d2c], 6
jne 0x4018f9
movups xmm0, xmmword [0x4b4148]
mov edi, dword [0x7c1d30]
imul edi, dword [0x7c1d34]
movups xmmword [ebp - 0x308], xmm0
psrldq xmm0, 8
movd eax, xmm0
add eax, 0xffffff38
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x2fc]
add eax, 0xfffffff0
mov dword [ebp - 0x304], eax
mov eax, 0x91a2b3c5
imul edi
mov eax, 0x88888889
add edx, edi
sar edx, 0xb
mov esi, edx
shr esi, 0x1f
add esi, edx
imul edi
add edx, edi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
shl eax, 4
sub eax, ecx
shl eax, 2
sub edi, eax
mov eax, esi
shl eax, 4
sub eax, esi
shl eax, 2
push edi
sub ecx, eax
lea eax, [ebp - 0x1a8]
push ecx
push esi
push 0x4a2370
push eax
call fcn.00404440
mov edi, dword [ebp - 0x30c]
add esp, 0x14
push 1
push edi
call dword [sym.imp.GDI32.dll_SetBkMode]
push 0
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
mov eax, dword [sym.imp.GDI32.dll_SetBkColor]
push edi
call eax
mov esi, eax
lea eax, [ebp - 0x1a8]
push 0
push eax
mov eax, dword [sym.imp.KERNEL32.dll_lstrlenA]
call eax
push eax
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x308]
push eax
mov eax, dword [ebp - 0x308]
push 2
push dword [ebp - 0x304]
add eax, 3
push eax
mov eax, dword [sym.imp.GDI32.dll_ExtTextOutA]
push edi
call eax
push esi
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
push edi
call esi
jmp 0x401e48
mov eax, dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x4b4138
call eax
push eax
mov eax, dword [0x4b4154]
push 0x4b4138
add eax, 0xfffffff0
push eax
mov eax, dword [0x4b4150]
add eax, 0xffffffd2
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
cmp dword [0x7c1d3c], 0x73
lea edi, [ebp - 0x58]
mov ecx, 0x13
mov esi, 0x4a23b0
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jne 0x401ac1
cmp dword [0x4b4160], 4
jl 0x401c69
mov ecx, dword [0x4b46e8]
test ecx, ecx
jle 0x401a8e
mov eax, dword [0x4b436c]
xorps xmm1, xmm1
movsd xmm0, qword [0x4b46e0]
inc eax
comisd xmm0, xmm1
jbe 0x4019d2
sub esp, 0x10
cmp dword [0x4b43d4], eax
lea eax, [ebp - 0x58]
movsd qword [esp + 8], xmm0
jl 0x401993
movsd xmm0, qword [0x4b46d8]
jmp 0x40199b
movsd xmm0, qword [0x4b46c0]
movsd qword [esp], xmm0
movsd xmm0, qword [0x4b46d0]
push ecx
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x4b46c8]
movsd qword [esp], xmm0
push 0x4a2400
push eax
call fcn.00404440
add esp, 0x2c
jmp 0x401a8e
cmp dword [0x4b43d4], eax
lea eax, [ebp - 0x58]
jl 0x401a1c
movsd xmm0, qword [0x4b46d8]
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [0x4b46d0]
push ecx
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x4b46c8]
movsd qword [esp], xmm0
push 0x4a2438
push eax
call fcn.00404440
add esp, 0x24
jmp 0x401a8e
movsd xmm0, qword [0x4b46c0]
comisd xmm0, xmm1
jbe 0x401a61
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [0x4b46d0]
push ecx
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x4b46c8]
movsd qword [esp], xmm0
push 0x4a2468
push eax
call fcn.00404440
add esp, 0x24
jmp 0x401a8e
movsd xmm0, qword [0x4b46d0]
push ecx
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x4b46c8]
movsd qword [esp], xmm0
push 0x4a249c
push eax
call fcn.00404440
add esp, 0x1c
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x58]
mov edi, dword [ebp - 0x30c]
push eax
mov eax, dword [0x4b4154]
add eax, 0xfffffff0
push eax
mov eax, dword [0x4b4148]
add eax, 4
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
jmp 0x401e42
cmp dword [0x7c1d3c], 0x72
jne 0x401c69
cmp dword [0x4b4160], 4
jl 0x401c69
mov eax, dword [0x4b46e8]
test eax, eax
jle 0x401e3c
cmp dword [0x7c1d28], 0
jne 0x401bbc
movsd xmm3, qword [0x4aeb28]
sub esp, 0x20
movsd xmm0, qword [0x4b46b8]
movsd xmm2, qword [0x4b3970]
movsd xmm1, qword [0x7c1d20]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [0x4b46b0]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [0x4b46d0]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x4b46c8]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x58]
push 0x4a24c8
push eax
call fcn.00404440
add esp, 0x2c
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, dword [ebp - 0x30c]
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [0x4b4154]
add eax, 0xfffffff0
push eax
mov eax, dword [0x4b4148]
add eax, 4
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
jmp 0x401e42
movsd xmm3, qword [0x4ae8b0]
sub esp, 0x18
movsd xmm0, qword [0x4b46c0]
movsd xmm2, qword [0x4b3968]
movsd xmm1, qword [0x7c1d18]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [0x4b46d0]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x4b46c8]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x58]
push 0x4a2508
push eax
call fcn.00404440
add esp, 0x24
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, dword [ebp - 0x30c]
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [0x4b4154]
add eax, 0xfffffff0
push eax
mov eax, dword [0x4b4148]
add eax, 4
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
jmp 0x401e42
mov ecx, dword [0x7c1d14]
cmp ecx, 5
jne 0x401d94
cmp dword [0x4b4160], 4
jl 0x401d94
mov eax, dword [0x4b46e8]
test eax, eax
jle 0x401d94
movsd xmm0, qword [0x4b46d0]
comisd xmm0, xmmword [0x4ae820]
jbe 0x401d39
mulsd xmm0, qword [0x4ae8b0]
sub esp, 0x10
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [0x4b46c8]
mulsd xmm0, qword [0x4ae8b0]
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push eax
push dword [0x4b436c]
lea eax, [ebp - 0x58]
push 0x4a2548
push eax
call fcn.00404440
add esp, 0x20
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, dword [ebp - 0x30c]
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [0x4b4154]
add eax, 0xfffffff0
push eax
mov eax, dword [0x4b4148]
add eax, 4
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
jmp 0x401e42
push dword [0x4b436c]
movsd xmm0, qword [0x4b46c8]
sub esp, 8
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x58]
push 0x4a2588
push eax
call fcn.00404440
add esp, 0x18
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, dword [ebp - 0x30c]
push eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [0x4b4154]
add eax, 0xfffffff0
push eax
mov eax, dword [0x4b4148]
add eax, 4
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
jmp 0x401e42
mov eax, dword [0x7c1d34]
test eax, eax
jle 0x401ddd
push dword [0x7c1d10]
push eax
lea eax, [ebp - 0x1a8]
cmp ecx, 5
jge 0x401db6
push 0x4a25c4
jmp 0x401dbb
push 0x4a25e0
push eax
call fcn.00404440
add esp, 0x10
lea eax, [ebp - 0x1a8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x1a8]
jmp 0x401a9c
cmp dword [0x7c1d2c], 6
movups xmm0, xmmword [0x4b4148]
mov edi, dword [0x4b4140]
movups xmmword [ebp - 0x2d8], xmm0
mov ecx, dword [ebp - 0x2d0]
movd esi, xmm0
jne 0x401e0c
sub ecx, 0xb4
jmp 0x401e0f
sub ecx, 0x32
mov eax, dword [0x7c1eac]
test eax, eax
je 0x401e3c
lea eax, [eax + eax*2]
lea eax, [eax - 2]
lea edx, [esi + eax*2]
lea eax, [ecx - 2]
mov dword [ebp - 0x320], edx
cmp edx, eax
jle 0x402436
mov dword [0x7c1eac], 0
mov edi, dword [ebp - 0x30c]
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
sub dword [0x4b4148], 0x34
cmp dword [0x4b4178], 0
jne 0x402f81
cmp dword [0x7c1d3c], 0
je 0x403685
cmp dword [0x4b4160], 4
jl 0x403685
mov eax, dword [0x4b414c]
movups xmm0, xmmword [ebp - 0x2c8]
push 0
add eax, 0xfffffff2
push edi
mov dword [ebp - 0x31c], eax
movups xmmword [ebp - 0x2c8], xmm0
call esi
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2c8]
push eax
push 2
push dword [ebp - 0x2c4]
push dword [ebp - 0x2c8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
push edi
call esi
mov ecx, dword [ebp - 0x31c]
mov eax, dword [0x4b4148]
add ecx, 0xd
add eax, 0x34
mov dword [ebp - 0x2b4], ecx
push 0xd8c7bc
push dword [ebp - 0x30c]
mov dword [ebp - 0x2b8], eax
lea edi, [ecx + 0x26]
add eax, 0x50
mov dword [ebp - 0x2ac], edi
mov dword [ebp - 0x2b0], eax
call esi
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2b8]
push eax
push 2
push dword [ebp - 0x2b4]
push dword [ebp - 0x2b8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov eax, dword [sym.imp.GDI32.dll_SetBkColor]
push esi
push dword [ebp - 0x30c]
call eax
lea eax, [ebp - 0x158]
push 0x4a2604
push eax
call fcn.00404440
mov esi, dword [ebp - 0x31c]
lea eax, [ebp - 0x158]
add esp, 8
add esi, 0x11
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
mov eax, dword [0x4b4148]
push esi
mov esi, dword [ebp - 0x30c]
add eax, 0x46
push eax
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
lea eax, [ebp - 0x158]
push 0x4a260c
push eax
call fcn.00404440
mov eax, dword [ebp - 0x31c]
add esp, 8
add eax, 0x1f
mov dword [ebp - 0x310], eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x310]
mov eax, dword [0x4b4148]
add eax, 0x3c
push eax
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x31c]
add eax, 0x85
mov dword [ebp - 0x2b8], eax
add ecx, 0xd
push 0xd8c7bc
add eax, 0x78
mov dword [ebp - 0x2b4], ecx
push esi
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2b8]
push eax
push 2
push dword [ebp - 0x2b4]
push dword [ebp - 0x2b8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [ebp - 0x30c]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
lea eax, [ebp - 0x158]
push 0x4a2618
push eax
call fcn.00404440
add esp, 8
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x31c]
add eax, 0x11
push eax
mov eax, dword [0x4b4148]
add eax, 0x8e
push eax
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
lea eax, [ebp - 0x158]
push 0x4a262c
push eax
call fcn.00404440
add esp, 8
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x310]
mov eax, dword [0x4b4148]
add eax, 0xa4
push eax
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [0x4b4148]
add eax, 0xfe
mov ecx, dword [ebp - 0x31c]
mov dword [ebp - 0x2b8], eax
add ecx, 0xd
push 0xd8c7bc
add eax, 0xe6
mov dword [ebp - 0x2b4], ecx
push esi
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2b8]
push eax
push 2
push dword [ebp - 0x2b4]
push dword [ebp - 0x2b8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [ebp - 0x30c]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
lea eax, [ebp - 0x158]
push 0x4a2638
push eax
call fcn.00404440
add esp, 8
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x31c]
add eax, 0x11
push eax
mov eax, dword [0x4b4148]
add eax, 0x126
push eax
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
push 0x4b3954
push 0x4b3940
lea eax, [ebp - 0x158]
push 0x4a2650
push eax
call fcn.00404440
add esp, 0x10
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x310]
mov eax, dword [0x4b4148]
add eax, 0x102
push eax
push esi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x31c]
add eax, 0x1e5
mov dword [ebp - 0x2ac], edi
add ecx, 0xd
mov dword [ebp - 0x2b8], eax
mov edi, esi
push 0xd8c7bc
add eax, 0x52
mov dword [ebp - 0x2b4], ecx
push edi
mov dword [ebp - 0x2b0], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
mov esi, eax
push 0x4a239a
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2b8]
push eax
push 2
push dword [ebp - 0x2b4]
push dword [ebp - 0x2b8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
lea eax, [ebp - 0x158]
push 0x4a2604
push eax
call fcn.00404440
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp - 0x158]
add esp, 8
push eax
call esi
push eax
lea eax, [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x31c]
add eax, 0x11
push eax
mov eax, dword [0x4b4148]
add eax, 0x1f4
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
lea eax, [ebp - 0x158]
push 0x4a266c
push eax
call fcn.00404440
add esp, 8
cmp dword [0x7c1d14], 5
jne 0x4022ea
lea eax, [ebp - 0x158]
push 0x4a2678
push eax
call fcn.00404440
add esp, 8
lea eax, [ebp - 0x158]
push eax
call esi
push eax
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x310]
mov eax, dword [0x4b4148]
add eax, 0x1ec
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
mov esi, dword [ebp - 0x31c]
lea eax, [ebp - 0x2a8]
push 0x7c1d48
xor ecx, ecx
add esi, 0x22
push str._sProtokol.dat
push eax
mov dword [ebp - 0x31c], esi
mov dword [ebp - 0x318], ecx
call fcn.00404440
add esp, 0xc
lea eax, [ebp - 0x2a8]
push 0x4a2694
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov ecx, eax
add esp, 8
mov dword [ebp - 0x314], ecx
test ecx, ecx
je 0x402cca
mov esi, 1
mov dword [ebp - 0x320], esi
cmp dword [0x4b4164], esi
jl 0x4029e1
mov eax, dword [ebp - 0x31c]
add eax, 2
mov dword [ebp - 0x310], eax
nop
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x300]
push eax
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x334]
push eax
push str._d_d_lf_lf_d_d_d
push ecx
call fcn.004043d0
mov eax, dword [0x4b4170]
add esp, 0x24
inc eax
cmp esi, eax
jl 0x4029c2
mov esi, dword [sym.imp.GDI32.dll_SetTextColor]
push 0
push edi
call esi
cmp dword [ebp - 0x33c], 1
jne 0x4023f9
push 0xc40000
push edi
call esi
mov eax, dword [ebp - 0x330]
cmp eax, 1
jne 0x402412
push 0xc4
push edi
call esi
mov eax, dword [ebp - 0x330]
cmp eax, 2
jne 0x402425
push 0xc400
push edi
call esi
mov eax, dword [ebp - 0x330]
dec eax
cmp eax, 9
ja case.0x40242f.9
jmp dword [eax*4 + 0x403710]
mov eax, dword [ebp - 0x2cc]
test edi, edi
mov dword [ebp - 0x314], 1
lea ecx, [eax - 0xf]
lea edx, [eax - 2]
mov dword [ebp - 0x304], ecx
lea eax, [esi + 2]
mov dword [ebp - 0x2fc], edx
mov edx, dword [0x4b4144]
mov esi, edi
cmovs esi, dword [ebp - 0x314]
mov dword [ebp - 0x308], eax
mov ecx, esi
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x300], eax
movzx ecx, cl
movzx eax, dl
imul ecx, eax
movzx eax, dl
shl eax, 8
mov dword [ebp - 0x314], esi
movzx ecx, cl
or ecx, eax
movzx eax, dl
shl ecx, 8
xor edx, edx
test edi, edi
mov edi, dword [ebp - 0x30c]
cmovns eax, edx
movzx eax, al
or ecx, eax
mov eax, dword [sym.imp.GDI32.dll_SetBkColor]
push ecx
push edi
call eax
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x308]
push eax
push 2
push dword [ebp - 0x304]
push dword [ebp - 0x308]
jmp 0x4018e2
push 0xc48000
jmp 0x40250b
push 0xa4a4
jmp 0x40250b
push 0xa460
jmp 0x40250b
push 0x40a4
jmp 0x40250b
push 0xa4
push edi
call esi
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x34
inc dword [ebp - 0x318]
add ecx, 0x10
mov dword [ebp - 0x2b8], eax
add eax, 0x50
mov dword [ebp - 0x2b0], eax
push 0xf8f3f1
lea eax, [ecx + 0xf]
mov dword [ebp - 0x310], ecx
push edi
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0x2ac], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2b8]
push eax
push 2
push dword [ebp - 0x2b4]
push dword [ebp - 0x2b8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push dword [ebp - 0x334]
lea eax, [ebp - 0x158]
push 0x4a26ac
push eax
call fcn.00404440
add esp, 0xc
mov eax, 7
cmp dword [ebp - 0x334], 0xa
mov esi, 1
cmovl esi, eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
mov eax, dword [0x4b4148]
push dword [ebp - 0x310]
add eax, 0x52
add eax, esi
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x85
mov dword [ebp - 0x2e8], eax
add eax, 0x78
mov dword [ebp - 0x2e0], eax
push 0xf8f3f1
lea eax, [ecx + 0xf]
mov dword [ebp - 0x2e4], ecx
push edi
mov dword [ebp - 0x2dc], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2e8]
push eax
push 2
push dword [ebp - 0x2e4]
push dword [ebp - 0x2e8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push dword [ebp - 0x338]
lea eax, [ebp - 0x158]
push 0x4a26ac
push eax
call fcn.00404440
add esp, 0xc
mov eax, 7
cmp dword [ebp - 0x338], 0xa
mov esi, 1
cmovl esi, eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
mov eax, dword [0x4b4148]
push dword [ebp - 0x310]
add eax, 0xb8
add eax, esi
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0xfe
mov dword [ebp - 0x2f8], eax
add eax, 0x8c
mov dword [ebp - 0x2f0], eax
push 0xf8f3f1
lea eax, [ecx + 0xf]
mov dword [ebp - 0x2f4], ecx
push edi
mov dword [ebp - 0x2ec], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2f8]
push eax
push 2
push dword [ebp - 0x2f4]
push dword [ebp - 0x2f8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
push edi
call esi
movsd xmm0, qword [ebp - 0x360]
lea eax, [ebp - 0x158]
mulsd xmm0, qword [0x4aeb28]
sub esp, 8
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
movsd qword [esp], xmm0
push str._.4f
push eax
call fcn.00404440
movsd xmm0, qword [ebp - 0x360]
add esp, 0x10
andps xmm0, xmmword [0x4afb90]
mov ecx, 8
movsd xmm2, qword [0x4af5d0]
mov eax, 1
comisd xmm0, xmm2
cmovae eax, ecx
mov ecx, 0xe
comisd xmm2, xmm0
movsd xmm2, qword [0x4af380]
cmova eax, ecx
mov ecx, 0x14
comisd xmm2, xmm0
xorps xmm0, xmm0
cmova eax, ecx
comisd xmm0, xmmword [ebp - 0x360]
mov dword [ebp - 0x328], eax
jbe 0x4027d0
sub eax, 4
mov dword [ebp - 0x328], eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x328]
push eax
lea eax, [ebp - 0x158]
add ecx, 0x11e
push eax
push dword [ebp - 0x310]
mov eax, dword [0x4b4148]
add eax, ecx
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x18b
mov dword [ebp - 0x2d8], eax
add eax, 0x59
mov dword [ebp - 0x2d0], eax
push 0xf8f3f1
lea eax, [ecx + 0xf]
mov dword [ebp - 0x2d4], ecx
push edi
mov dword [ebp - 0x2cc], eax
call esi
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2d8]
push eax
push 2
push dword [ebp - 0x2d4]
push dword [ebp - 0x2d8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
push edi
call esi
movsd xmm0, qword [ebp - 0x300]
lea eax, [ebp - 0x158]
mulsd xmm0, qword [0x4ae8b0]
sub esp, 8
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push str._.3f
push eax
call fcn.00404440
add esp, 0x10
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x310]
mov eax, dword [0x4b4148]
add eax, 0x1aa
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x1e5
mov dword [ebp - 0x2c8], eax
add eax, 0x52
mov dword [ebp - 0x2c0], eax
push 0xf8f3f1
lea eax, [ecx + 0xf]
mov dword [ebp - 0x2c4], ecx
push edi
mov dword [ebp - 0x2bc], eax
call esi
push 0
mov esi, eax
push 0x4a239a
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2c8]
push eax
push 2
push dword [ebp - 0x2c4]
push dword [ebp - 0x2c8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push dword [ebp - 0x32c]
lea eax, [ebp - 0x158]
push 0x4a26ac
push eax
call fcn.00404440
add esp, 0xc
mov eax, 7
cmp dword [ebp - 0x32c], 0xa
mov esi, 1
cmovl esi, eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
mov eax, dword [0x4b4148]
push dword [ebp - 0x310]
add eax, 0x1f8
add eax, esi
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [0x4b4168]
add eax, 0xfffffffe
cmp dword [ebp - 0x318], eax
jge 0x4029db
mov esi, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x314]
inc esi
mov dword [ebp - 0x320], esi
cmp esi, dword [0x4b4164]
jle 0x402390
mov ecx, dword [ebp - 0x314]
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov ecx, dword [0x4b4168]
add esp, 4
mov edx, dword [0x4b4164]
lea eax, [ecx - 2]
cmp edx, eax
jge 0x402f81
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
sub ecx, edx
sub ecx, 2
cmp ecx, 1
jl 0x402f87
mov ecx, dword [ebp - 0x318]
mov eax, 1
mov edx, dword [ebp - 0x31c]
shl ecx, 4
add edx, 2
add ecx, edx
nop
inc eax
add ecx, 0x10
mov dword [ebp - 0x314], eax
mov eax, dword [0x4b4148]
add eax, 0x34
mov dword [ebp - 0x310], ecx
push 0xf8f3f1
push dword [ebp - 0x30c]
mov dword [ebp - 0x2c8], eax
lea edi, [ecx + 0xf]
add eax, 0x50
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], edi
call esi
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2c8]
push eax
push 2
push dword [ebp - 0x2c4]
push dword [ebp - 0x2c8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [ebp - 0x30c]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x85
mov dword [ebp - 0x2d8], eax
add eax, 0x78
push 0xf8f3f1
push esi
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2d8]
push eax
push 2
push dword [ebp - 0x2d4]
push dword [ebp - 0x2d8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [ebp - 0x30c]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0xfe
mov dword [ebp - 0x2f8], eax
add eax, 0x8c
push 0xf8f3f1
push esi
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2f8]
push eax
push 2
push dword [ebp - 0x2f4]
push dword [ebp - 0x2f8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [ebp - 0x30c]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x18b
mov dword [ebp - 0x2e8], eax
add eax, 0x59
push 0xf8f3f1
push esi
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2e8]
push eax
push 2
push dword [ebp - 0x2e4]
push dword [ebp - 0x2e8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
push dword [ebp - 0x30c]
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
call esi
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x1e5
mov dword [ebp - 0x2b8], eax
add eax, 0x52
mov dword [ebp - 0x2ac], edi
mov edi, dword [ebp - 0x30c]
push 0xf8f3f1
push edi
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0x2b0], eax
call esi
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2b8]
push eax
push 2
push dword [ebp - 0x2b4]
push dword [ebp - 0x2b8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
push edi
call esi
mov eax, dword [0x4b4168]
sub eax, dword [0x4b4164]
mov ecx, dword [ebp - 0x310]
sub eax, 2
cmp dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x314]
jle 0x402a30
jmp 0x402f87
mov eax, dword [0x4b4168]
add eax, 0xfffffffe
cmp eax, 1
jl 0x402f81
lea ecx, [esi + 2]
mov eax, 1
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
nop dword [eax]
inc eax
add ecx, 0x10
mov dword [ebp - 0x314], eax
mov eax, dword [0x4b4148]
add eax, 0x34
mov dword [ebp - 0x310], ecx
push 0xf8f3f1
push dword [ebp - 0x30c]
mov dword [ebp - 0x2c8], eax
lea edi, [ecx + 0xf]
add eax, 0x50
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], edi
call esi
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2c8]
push eax
push 2
push dword [ebp - 0x2c4]
push dword [ebp - 0x2c8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [ebp - 0x30c]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x85
mov dword [ebp - 0x2d8], eax
add eax, 0x78
push 0xf8f3f1
push esi
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2d8]
push eax
push 2
push dword [ebp - 0x2d4]
push dword [ebp - 0x2d8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [ebp - 0x30c]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0xfe
mov dword [ebp - 0x2f8], eax
add eax, 0x8c
push 0xf8f3f1
push esi
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2f8]
push eax
push 2
push dword [ebp - 0x2f4]
push dword [ebp - 0x2f8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [ebp - 0x30c]
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x18b
mov dword [ebp - 0x2e8], eax
add eax, 0x59
push 0xf8f3f1
push esi
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2e8]
push eax
push 2
push dword [ebp - 0x2e4]
push dword [ebp - 0x2e8]
push dword [ebp - 0x30c]
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
push dword [ebp - 0x30c]
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
call esi
mov eax, dword [0x4b4148]
mov ecx, dword [ebp - 0x310]
add eax, 0x1e5
mov dword [ebp - 0x2b8], eax
add eax, 0x52
mov dword [ebp - 0x2ac], edi
mov edi, dword [ebp - 0x30c]
push 0xf8f3f1
push edi
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0x2b0], eax
call esi
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2b8]
push eax
push 2
push dword [ebp - 0x2b4]
push dword [ebp - 0x2b8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
push edi
call esi
mov eax, dword [0x4b4168]
mov ecx, dword [ebp - 0x310]
add eax, 0xfffffffe
cmp dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x314]
jle 0x402cf0
jmp 0x402f87
mov esi, dword [sym.imp.GDI32.dll_SetBkColor]
cmp dword [0x4b4178], 1
jne 0x403277
mov eax, dword [0x4b4154]
sub eax, dword [0x4b414c]
movups xmm0, xmmword [0x4b4148]
cdq
and edx, 0xf
add eax, edx
push 0xfafafa
sar eax, 4
push edi
mov dword [0x4b4168], eax
movups xmmword [ebp - 0x2c8], xmm0
call esi
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2c8]
push eax
push 2
push dword [ebp - 0x2c4]
push dword [ebp - 0x2c8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4b414c]
push 0x7c1d48
mov dword [ebp - 0x33c], eax
lea eax, [ebp - 0x2a8]
push str._sError.dat
push eax
call fcn.00404440
add esp, 0xc
lea eax, [ebp - 0x2a8]
push 0
push 0x80
push 4
push 0
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push 0
push 0
push eax
mov dword [ebp - 0x328], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
xor ecx, ecx
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x320], 0
xor esi, esi
mov dword [ebp - 0x318], ecx
mov byte [ebp - 0x158], cl
xor eax, eax
cmp eax, 4
jae 0x403708
mov byte [ebp + eax - 0x310], 0
inc eax
cmp eax, 4
jl 0x403077
push 0
lea eax, [ebp - 0x314]
push eax
push 4
lea eax, [ebp - 0x310]
push eax
push dword [ebp - 0x328]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40320a
cmp dword [ebp - 0x314], 0
je 0x40320a
mov eax, dword [ebp - 0x318]
xor ecx, ecx
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x32c], ecx
lea eax, [eax + eax*8]
lea eax, [eax - 4]
lea eax, [edx + eax*2]
mov dword [ebp - 0x330], eax
mov al, byte [ebp + ecx - 0x310]
cmp al, 0x2f
jne 0x403101
cmp byte [ebp + ecx - 0x30f], al
jne 0x403101
mov word [ebp + ecx - 0x310], 0x2020
mov al, 0x20
lea edx, [esi + 1]
mov byte [ebp + esi - 0x158], al
cmp edx, 0x100
jae 0x403708
mov byte [ebp + edx - 0x158], 0
mov al, byte [ebp + esi - 0x158]
cmp al, 0xa
je 0x40313e
cmp al, 0x3b
je 0x40313e
cmp esi, 0x48
jle 0x403137
cmp al, 0x20
je 0x40313e
mov esi, edx
jmp 0x4031f5
cmp esi, 0x100
jae 0x403708
mov edx, dword [ebp - 0x320]
mov eax, dword [0x4b4170]
inc edx
inc eax
mov byte [ebp + esi - 0x158], 0
mov dword [ebp - 0x320], edx
cmp edx, eax
jl 0x4031ec
mov eax, dword [ebp - 0x318]
add dword [ebp - 0x330], 0x12
inc eax
mov dword [ebp - 0x318], eax
cmp eax, dword [0x4b4168]
jge 0x4031ec
mov esi, dword [0x4b4150]
lea eax, [ebp - 0x158]
sub esi, dword [0x4b4148]
push eax
sub esi, 0x64
call dword [sym.imp.KERNEL32.dll_lstrlenA]
shl eax, 3
sub esi, eax
mov eax, esi
cdq
sub eax, edx
mov esi, eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
xor ecx, ecx
push eax
mov eax, dword [ebp - 0x330]
push eax
mov eax, dword [0x4b4148]
sar esi, 1
cmovns ecx, esi
add eax, 0x64
add eax, ecx
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
mov ecx, dword [ebp - 0x32c]
mov byte [ebp - 0x158], 0
xor esi, esi
inc ecx
mov dword [ebp - 0x32c], ecx
cmp ecx, 4
jl 0x4030e1
jmp 0x403072
push dword [ebp - 0x328]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x4b4170]
mov ecx, dword [ebp - 0x318]
mov esi, dword [0x4b4168]
push 0
push 1
lea eax, [edx + ecx]
cmp eax, esi
jl 0x403424
sub edx, esi
lea eax, [ecx + 1]
add eax, edx
mov dword [0x4b416c], eax
mov esi, dword [ebp - 0x324]
mov eax, dword [sym.imp.USER32.dll_EnableScrollBar]
push esi
call eax
mov eax, dword [sym.imp.USER32.dll_SetScrollRange]
push 1
push dword [0x4b416c]
push 0
push 1
push esi
call eax
mov eax, dword [sym.imp.USER32.dll_SetScrollPos]
push 1
push dword [0x4b4170]
push 1
push esi
call eax
cmp dword [0x4b4178], 2
jne 0x403540
mov eax, dword [0x4b4154]
sub eax, dword [0x4b414c]
movups xmm0, xmmword [0x4b4148]
cdq
and edx, 0xf
add eax, edx
push 0xfafafa
sar eax, 4
push edi
mov dword [0x4b4168], eax
movups xmmword [ebp - 0x2c8], xmm0
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2c8]
push eax
push 2
push dword [ebp - 0x2c4]
push dword [ebp - 0x2c8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4b414c]
push 0x7c1d48
mov dword [ebp - 0x33c], eax
lea eax, [ebp - 0x2a8]
push str._sRecom.dat
push eax
call fcn.00404440
add esp, 0xc
lea eax, [ebp - 0x2a8]
push 0
push 0x80
push 4
push 0
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push 0
push 0
push eax
mov dword [ebp - 0x334], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
xor ecx, ecx
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x32c], 0
xor esi, esi
mov dword [ebp - 0x318], ecx
mov byte [ebp - 0x158], cl
nop word [eax + eax]
xor eax, eax
cmp eax, 4
jae 0x403708
mov byte [ebp + eax - 0x320], 0
inc eax
cmp eax, 4
jl 0x403375
push 0
lea eax, [ebp - 0x314]
push eax
push 4
lea eax, [ebp - 0x320]
push eax
push dword [ebp - 0x334]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4034ce
cmp dword [ebp - 0x314], 0
je 0x4034ce
mov eax, dword [ebp - 0x318]
xor ecx, ecx
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x338], ecx
lea eax, [eax + eax*8]
lea eax, [eax - 4]
lea eax, [edx + eax*2]
mov dword [ebp - 0x328], eax
nop
mov al, byte [ebp + ecx - 0x320]
lea edx, [esi + 1]
mov byte [ebp + esi - 0x158], al
cmp edx, 0x100
jae 0x403708
mov byte [ebp + edx - 0x158], 0
mov al, byte [ebp + esi - 0x158]
cmp al, 0xa
je 0x403433
cmp al, 0x3b
je 0x403433
cmp esi, 0x4c
jle 0x40341d
cmp al, 0x20
je 0x403433
mov esi, edx
jmp 0x4034b9
mov dword [0x4b416c], 0
jmp 0x403243
cmp esi, 0x100
jae 0x403708
mov edx, dword [ebp - 0x32c]
mov eax, dword [0x4b4170]
inc edx
inc eax
mov byte [ebp + esi - 0x158], 0
mov dword [ebp - 0x32c], edx
cmp edx, eax
jl 0x4034b0
mov eax, dword [ebp - 0x318]
mov esi, dword [ebp - 0x328]
inc eax
add esi, 0x12
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x328], esi
cmp eax, dword [0x4b4168]
jge 0x4034b0
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x158]
push eax
mov eax, dword [0x4b4148]
push esi
add eax, 0x96
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
mov ecx, dword [ebp - 0x338]
mov byte [ebp - 0x158], 0
xor esi, esi
inc ecx
mov dword [ebp - 0x338], ecx
cmp ecx, 4
jl 0x4033e0
jmp 0x403370
push dword [ebp - 0x334]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x4b4170]
mov ecx, dword [ebp - 0x318]
mov esi, dword [0x4b4168]
push 0
push 1
lea eax, [ecx + edx]
cmp eax, esi
jl 0x403505
sub ecx, esi
lea eax, [edx + 1]
add eax, ecx
mov dword [0x4b416c], eax
jmp 0x40350f
mov dword [0x4b416c], 0
mov esi, dword [ebp - 0x324]
push esi
call dword [sym.imp.USER32.dll_EnableScrollBar]
push 1
push dword [0x4b416c]
push 0
push 1
push esi
call dword [sym.imp.USER32.dll_SetScrollRange]
push 1
push dword [0x4b4170]
push 1
push esi
call dword [sym.imp.USER32.dll_SetScrollPos]
cmp dword [0x4b4178], 0xffffffff
jne 0x403685
mov eax, dword [0x4b4154]
sub eax, dword [0x4b414c]
movups xmm0, xmmword [0x4b4148]
cdq
and edx, 0xf
add eax, edx
push 0xfafafa
sar eax, 4
push edi
mov dword [0x4b4168], eax
movups xmmword [ebp - 0x2c8], xmm0
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0x4a239a
mov esi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x4a239a
lea eax, [ebp - 0x2c8]
push eax
push 2
push dword [ebp - 0x2c4]
push dword [ebp - 0x2c8]
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push esi
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov edi, dword [0x4b414c]
lea eax, [ebp - 0x158]
push 0x7c1d48
push 0x4a26cc
push eax
add edi, 0x10
call fcn.00404440
mov esi, dword [0x4b4150]
lea eax, [ebp - 0x158]
sub esi, dword [0x4b4148]
add esp, 0xc
sub esi, 0x64
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
shl eax, 3
sub esi, eax
mov eax, esi
cdq
sub eax, edx
mov esi, eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
xor ecx, ecx
lea eax, [ebp - 0x158]
push eax
mov eax, dword [0x4b4148]
sar esi, 1
push edi
mov edi, dword [ebp - 0x30c]
cmovns ecx, esi
add eax, 0x64
add eax, ecx
push eax
push edi
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [0x4b4170]
mov ecx, dword [0x4b4168]
mov esi, dword [ebp - 0x324]
cmp eax, ecx
jl 0x40368b
push 0
push 1
sub eax, ecx
push esi
mov dword [0x4b416c], eax
call dword [sym.imp.USER32.dll_EnableScrollBar]
push 1
push dword [0x4b416c]
push 0
push 1
push esi
call dword [sym.imp.USER32.dll_SetScrollRange]
push 1
push dword [0x4b4170]
push 1
push esi
call dword [sym.imp.USER32.dll_SetScrollPos]
jmp 0x40368b
mov esi, dword [ebp - 0x324]
mov eax, dword [0x4b4148]
push 0xcc0020
push 0
push 0
push edi
push dword [ebp - 0x344]
add eax, 0x34
push dword [ebp - 0x348]
mov dword [0x4b4148], eax
push dword [0x4b414c]
push eax
push dword [ebp - 0x340]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x34c]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x350]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x354]
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
push esi
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004a034d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004a047d
nop dword [eax]
ljmp 0x4024