Function at 0x40a680
Capabilities:
Delete file
Read .ini file
Read file on windows

Disassembly:
mov eax, 0x54b0
call fcn.0042ae90
mov eax, dword [0x44c6b0]
xor eax, esp
mov dword [esp + 0x54ac], eax
push esi
push edi
mov edi, dword [esp + 0x54bc]
push 0x8fc
mov dword [esp + 0x10], edi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
push 0x14
push 0x44de8c
push 1
push edi
call esi
push 0x14
push 0x44dee0
push 1
push edi
call esi
mov eax, dword [esp + 0x54c8]
push eax
push edi
call fcn.0040a5d0
add esp, 8
test eax, eax
je 0x40ac2e
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str..OiddInfo.ini
push 0xff
lea ecx, [esp + 0x53c4]
push ecx
push 0x4404a4
push str.GAME_ID
push str.OIDD
call ebp
xor ebx, ebx
xor eax, eax
jmp 0x40a720
mov cl, byte [esp + eax + 0x53bc]
mov byte [eax + 0x44df1c], cl
inc eax
test cl, cl
jne 0x40a720
push str..OiddInfo.ini
push 8
lea edx, [esp + 0x53c4]
push edx
push 0x4404a4
push str.COM_PORT
push str.OIDD
call ebp
xor eax, eax
jmp 0x40a760
mov cl, byte [esp + eax + 0x53bc]
mov byte [eax + 0x44df38], cl
inc eax
test cl, cl
jne 0x40a760
push 0x38
call fcn.00428fd0
add esp, 4
cmp eax, ebx
je 0x40a789
mov ecx, eax
call fcn.00404670
jmp 0x40a78b
xor eax, eax
push 0x4b00
push 0x44df38
mov ecx, eax
mov dword [0x44ded4], eax
call fcn.00404980
push 0x1abc
mov dword [esp + 0x1c], eax
call fcn.00428fd0
add esp, 4
cmp eax, ebx
je 0x40a7bf
mov ecx, eax
call fcn.00403830
jmp 0x40a7c1
xor eax, eax
mov ecx, dword [0x44ded4]
push 0x44df1c
push ecx
mov ecx, eax
mov dword [0x44dec0], eax
call fcn.004041b0
mov ecx, dword [0x44dec0]
xor eax, eax
push 0x450ee0
mov dword [0x450ee0], eax
mov dword [0x450ee4], eax
mov dword [0x450ee8], eax
mov dword [0x450eec], eax
mov byte [0x450ef0], al
call fcn.00403780
xor edx, edx
mov dword [0x450ef4], edx
xor eax, eax
mov edi, edi
test al, 7
jne 0x40a82c
cmp eax, ebx
je 0x40a82c
mov cl, byte [eax + 0x450ee0]
test cl, cl
je 0x40a835
movzx ecx, cl
shr ecx, 1
imul edx, ecx
jmp 0x40a835
movzx ecx, byte [eax + 0x450ee0]
add edx, ecx
inc eax
cmp eax, 0x11
jl 0x40a810
mov dword [0x450ef4], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0042ad3e
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
add esp, 4
call edi
push eax
call fcn.0042ad3e
push ebx
call fcn.0042ad72
push eax
call fcn.0042ad3e
push 0x2c
call fcn.00428fd0
add esp, 0x10
cmp eax, ebx
je 0x40a881
mov ecx, eax
call fcn.00408940
jmp 0x40a883
xor eax, eax
push 0x3ac
mov dword [0x44df18], eax
call fcn.00428fd0
add esp, 4
cmp eax, ebx
je 0x40a8a2
mov ecx, eax
call fcn.0041f370
jmp 0x40a8a4
xor eax, eax
mov ecx, eax
mov dword [0x44dd40], eax
call fcn.00420870
mov ecx, dword [0x44dd40]
call fcn.0041f700
mov eax, dword [0x450f2c]
cmp eax, ebx
je 0x40a8d3
push eax
call fcn.00428faa
add esp, 4
mov dword [0x450f2c], ebx
push 0x24
call fcn.00428fd0
push eax
mov dword [0x450f2c], eax
call fcn.0042ae04
mov eax, dword [0x450f2c]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
imul edx, edx, 0x64
lea edx, [edx + ecx + 0x2e631]
imul edx, edx, 0x64
add edx, dword [eax + 0xc]
add esp, 8
cmp edx, 0x1357662
jl 0x40a92f
call fcn.0042ad50
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x14
jg 0x40a92f
push str.Codemc.se
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
jmp 0x40ac2c
push 0x44046c
push str.Codemc.se
mov dword [0x44f6b0], ebx
call fcn.00429aef
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x40aac4
push esi
push 1
lea edx, [esp + 0x40]
push 0x4000
push edx
call fcn.00429a0e
push esi
call fcn.004296f2
add esp, 0x14
lea ecx, [esp + 0x4038]
mov dword [esp + 0x10], ebx
call fcn.00428910
xor esi, esi
mov edi, edi
cmp esi, 0x3f5
jne 0x40a9b1
mov ecx, dword [esp + 0x100c]
mov edx, dword [0x450ef4]
lea eax, [esp + 0x10]
push eax
push ecx
push edx
lea ecx, [esp + 0x4044]
call fcn.00428480
mov dword [esp + 0x100c], eax
jmp 0x40a9d8
cmp esi, 0x3f4
je 0x40a9d8
mov ecx, dword [esp + esi*4 + 0x38]
lea eax, [esp + 0x10]
push eax
push ecx
push 0x1f0f771
lea ecx, [esp + 0x4044]
call fcn.00428480
mov dword [esp + esi*4 + 0x38], eax
inc esi
cmp esi, 0x1000
jl 0x40a980
movzx ecx, word [esp + 0x4b0]
movzx edx, word [esp + 0x1f0]
movzx eax, word [esp + 0x320]
mov word [0x44c060], cx
movzx ecx, word [esp + 0x2188]
mov word [str.123456789], dx
movzx edx, word [esp + 0x11d0]
mov word [0x44c05e], ax
movzx eax, word [esp + 0x1278]
mov word [0x44c066], cx
movzx ecx, word [esp + 0x32f0]
mov word [0x44c062], dx
movzx edx, word [esp + 0x2300]
mov word [0x44c064], ax
movzx eax, word [esp + 0x3164]
mov word [0x44c06c], cx
lea ecx, [esp + 0x4038]
mov word [0x44c068], dx
mov word [0x44c06a], ax
call fcn.00426e10
mov ecx, dword [0x450f2c]
mov eax, dword [ecx + 0x10]
cdq
mov esi, 0xa
idiv esi
mov eax, dword [esp + 0x14]
imul edx, edx, 0x64
add edx, dword [ecx + 0xc]
imul edx, edx, 0x64
add edx, dword [ecx + 8]
imul edx, edx, 0x64
add edx, dword [ecx + 4]
imul edx, edx, 0x64
add edx, dword [ecx]
mov dword [0x451250], edx
mov edx, dword [esp + 0x54d0]
push edx
push eax
call fcn.00409bd0
add esp, 8
test eax, eax
jne 0x40aacb
lea ecx, [esp + 0x4038]
call fcn.00428a70
xor eax, eax
jmp 0x40ac2c
push ebx
call dword [sym.imp.USER32.dll_ShowCursor]
push 1
call dword [sym.imp.WINMM.dll_timeBeginPeriod]
call edi
push str..OiddInfo.ini
push 8
lea ecx, [esp + 0x53c4]
push ecx
push 0x4404a4
push str.COM_PORT
push str.GAME
mov dword [0x4512a0], ebx
call ebp
xor eax, eax
jmp 0x40ab10
mov cl, byte [esp + eax + 0x53bc]
mov byte [eax + 0x44df38], cl
inc eax
test cl, cl
jne 0x40ab10
push 0x44df3b
call fcn.0042ac24
add esp, 4
and eax, 0x80000001
jns 0x40ab3b
dec eax
or eax, 0xfffffffe
inc eax
mov edi, dword [sym.imp.USER32.dll_PeekMessageA]
mov ebp, dword [sym.imp.USER32.dll_GetMessageA]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [0x44e288], ebx
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
mov dword [0x44f6b4], eax
mov edi, edi
push 0
push 0
push 0
push 0
lea edx, [esp + 0x2c]
push edx
call edi
test eax, eax
je 0x40ab9c
push 0
push 0
push 0
lea eax, [esp + 0x28]
push eax
call ebp
test eax, eax
je 0x40ac1a
lea ecx, [esp + 0x1c]
push ecx
call ebx
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x40ab60
call dword [sym.imp.WINMM.dll_timeGetTime]
mov esi, eax
cmp dword [0x44eac0], esi
jae 0x40ab60
mov ecx, dword [0x44df18]
call fcn.004093f0
mov eax, dword [0x44df18]
cmp word [eax + 0x1e], 5
jne 0x40abe8
cmp dword [esp + 0x18], 0
je 0x40abd7
mov ecx, dword [0x44dec0]
call fcn.00403960
jmp 0x40abe8
mov dword [0x44e054], 0xca
mov byte [0x450ed5], 1
cmp dword [0x44b150], 0
je 0x40abfc
mov ecx, dword [0x44df18]
call fcn.00409180
mov ecx, dword [0x44df18]
call fcn.00409100
call fcn.00409c20
add esi, 0x1c
mov dword [0x44eac0], esi
jmp 0x40ab60
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x4038]
call fcn.00428a70
mov eax, esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54b4]
pop edi
pop esi
xor ecx, esp
call fcn.00428f13
add esp, 0x54b0
ret 0x10