Function at 0x402d76
Capabilities:
Contain obfuscated stackstrings
Read .ini file
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x88
push ebx
push esi
push edi
xor esi, esi
push esi
mov ebx, 0x40000000
push ebx
push 3
xor eax, eax
inc eax
push esi
push eax
mov edi, 0x80000000
push edi
push str.DATAFUKKAISHIBI.FUK
mov word [ebp + 0x54], ax
mov word [ebp + 0x56], si
mov word [ebp + 0x58], ax
mov word [ebp + 0x5a], si
mov word [ebp + 0x5c], si
mov word [ebp + 0x5e], ax
mov byte [ebp + 0x6c], 0x30
mov byte [ebp + 0x6d], 0x30
mov byte [ebp + 0x6e], 0x30
mov byte [ebp + 0x6f], 0x30
mov byte [ebp + 0x70], 0x30
mov byte [ebp + 0x71], 0x30
mov byte [ebp + 0x72], 0x30
mov byte [ebp + 0x73], 0x30
mov byte [ebp + 0x74], 0x30
mov byte [ebp + 0x75], 0x30
mov byte [ebp + 0x76], 0x30
mov byte [ebp + 0x77], 0x30
call fcn.004016ab
add esp, 0x1c
cmp eax, 0xffffffff
mov dword [ebp + 0x50], eax
je 0x402f9b
push 0x4028e6
push 0x4072d0
push 0xc
lea ecx, [ebp + 0x60]
push ecx
push eax
mov dword [0x4072d8], esi
call dword [sym.imp.KERNEL32.dll_ReadFileEx]
push 1
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_SleepEx]
push dword [ebp + 0x50]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push 0xc
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x60]
push eax
call sub.MSVCR71.dll_memcmp
add esp, 0xc
test eax, eax
je 0x402f9b
push 0
push ebx
push 3
push 0
push 1
push edi
push str.C:DK2ATMSYSREV.DT2
call fcn.004016ab
add esp, 0x1c
cmp eax, 0xffffffff
je 0x402f9b
push eax
call esi
lea eax, [ebp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov dl, byte [ebp + 0x61]
mov al, byte [ebp + 0x60]
mov cl, 0xf
and al, cl
and dl, cl
movzx ax, al
movzx dx, dl
push str.ATM.INI
push 0x40
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
mov dl, byte [ebp + 0x62]
and dl, cl
movzx dx, dl
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
mov dl, byte [ebp + 0x63]
and dl, cl
movzx dx, dl
lea eax, [eax + eax*4]
lea esi, [edx + eax*2]
mov al, byte [ebp + 0x64]
mov dl, byte [ebp + 0x65]
and al, cl
movzx ax, al
and dl, cl
movzx dx, dl
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
mov dl, byte [ebp + 0x67]
mov word [ebp + 0x32], ax
mov al, byte [ebp + 0x66]
and al, cl
movzx ax, al
and dl, cl
movzx cx, dl
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
mov word [ebp + 0x36], ax
lea eax, [ebp - 0x10]
push eax
push 0x4055ab
push str.FirstDrive
push str.ATM_Drive
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
mov ebx, str.C:DK1
push ebx
lea eax, [ebp - 0x10]
push eax
call edi
neg eax
sbb eax, eax
neg eax
cmp si, word [ebp + 0x40]
ja 0x402f3e
jb 0x402f30
mov cx, word [ebp + 0x42]
cmp word [ebp + 0x32], cx
ja 0x402f3e
jae 0x402f34
xor ecx, ecx
jmp 0x402f46
mov cx, word [ebp + 0x36]
cmp cx, word [ebp + 0x46]
jbe 0x402f43
push 2
pop ecx
jmp 0x402f46
sbb ecx, ecx
inc ecx
movzx ecx, cx
movzx eax, ax
lea eax, [eax + ecx*2]
cmp word [ebp + eax*2 + 0x54], 0
jne 0x402f9b
push ebx
lea eax, [ebp - 0x10]
push eax
call edi
test eax, eax
push str.ATM.INI
jne 0x402f8a
mov dword [0x407580], 0x16
push 0x405a34
push str.SetupStatus
push str.ATM_Setup
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
xor eax, eax
jmp 0x402f9e
mov dword [0x407580], 0x15
push 0x405a30
jmp 0x402f76
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret