Function at 0x4670a3
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e61a3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x14]
call fcn.004048b0
mov dword [ebp - 4], 0
mov eax, dword [0x528778]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x2b8], 0
mov edx, dword [ebp - 0x5c]
mov dword [edx + 0x121c], 0
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x1220], 0
push 0x5fd
mov ecx, dword [ebp - 0x5c]
call fcn.004cd5d4
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + 0xd00], 0
jne 0x467128
push 0x51ec7c
mov ecx, dword [ebp - 0x18]
call fcn.004cd86b
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x5c]
cmp dword [edx + 0xd00], 0
je 0x467171
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0xd00], 0
push 0
push 0x1f4
push 0x997
mov ecx, dword [ebp - 0x5c]
call fcn.004048e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
jmp 0x467bcc
cmp dword [0x528ccc], 0
je 0x4671a2
push 0
push 0x5295c8
push str.Thread_is_running
mov ecx, dword [ebp - 0x5c]
call fcn.004cbd0e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
jmp 0x467bcc
mov dword [ebp - 0x38], 0
jmp 0x4671b4
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], 0x11
jge 0x4671f0
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x4e60
mov eax, dword [ebp - 0x5c]
mov byte [eax + edx + 0x26d1], 0xfe
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x5c]
cmp dword [edx + ecx*4 + 0x55b30], 0
je 0x4671ee
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + eax*4 + 0x55b30]
mov byte [edx], 0xfe
jmp 0x4671ab
mov dword [ebp - 0x38], 0
jmp 0x467202
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x11
jge 0x46722d
push 0x92
push 0
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x92
mov edx, dword [ebp - 0x5c]
lea eax, [edx + ecx + 0x16c4]
push eax
call fcn.004a9cd0
add esp, 0xc
jmp 0x4671f9
cmp dword [0x5285e0], 0
jne 0x46723f
cmp dword [0x5285dc], 0
je 0x467267
mov dword [0x528ccc], 1
push 1
mov ecx, dword [ebp - 0x5c]
call fcn.0048c72d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
jmp 0x467bcc
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + 0x2310], 0
je 0x46729b
mov dword [0x528ccc], 1
push 3
mov ecx, dword [ebp - 0x5c]
call fcn.0048c72d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
jmp 0x467bcc
mov edx, dword [ebp - 0x5c]
cmp dword [edx + 0x2088], 0
je 0x4672ef
mov ecx, dword [ebp - 0x5c]
call fcn.0046604e
test eax, eax
jne 0x4672c7
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
jmp 0x467bcc
mov dword [0x528ccc], 1
push 2
mov ecx, dword [ebp - 0x5c]
call fcn.0048c72d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
jmp 0x467bcc
cmp dword [0x528ec4], 0
je 0x4673a2
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x24c0]
add ecx, 1
mov edx, dword [ebp - 0x5c]
mov dword [edx + 0x24c0], ecx
cmp dword [0x528ec4], 1
jne 0x46734e
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24c0]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
je 0x46733f
mov edx, dword [ebp - 0x5c]
mov dword [edx + 0x20a0], 0
jmp 0x46734c
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0x20a0], 1
jmp 0x467364
cmp dword [0x528ec4], 2
jne 0x467364
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x20a0], 0
push 0x14
push 0
lea edx, [ebp - 0x34]
push edx
call fcn.004a9cd0
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x24c0]
push ecx
mov edx, dword [0x528ec4]
push edx
push str.Step__d__d
lea eax, [ebp - 0x34]
push eax
call fcn.004aa1dd
add esp, 0x10
lea ecx, [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x5c]
call fcn.0048d7c3
mov ecx, dword [ebp - 0x5c]
call fcn.00467073
test eax, eax
jne 0x4673c2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
jmp 0x467bcc
mov edx, dword [ebp - 0x5c]
add edx, 0x8ec
push edx
push 0
push str.SNRULE
push 0x51ecbc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x11d4], eax
mov edx, dword [ebp - 0x5c]
add edx, 0x8ec
push edx
push 0
push str.AUTODATEADJUST
push 0x51ecd8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x11d8], eax
push 0x15
push 0
mov edx, dword [ebp - 0x5c]
add edx, 0x1206
push edx
call fcn.004a9cd0
add esp, 0xc
cmp dword [0x528f74], 0
je 0x467452
mov eax, dword [ebp - 0x5c]
add eax, 0x8ec
push eax
push 0x15
mov ecx, dword [ebp - 0x5c]
add ecx, 0x1206
push ecx
push 0
push str.SERIALMASK
push 0x51ecf0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [ebp - 0x5c]
movsx eax, byte [edx + 0x1206]
test eax, eax
jne 0x467488
mov ecx, dword [ebp - 0x5c]
add ecx, 0x8ec
push ecx
push 0x15
mov edx, dword [ebp - 0x5c]
add edx, 0x1206
push edx
push 0
push str.MASKSN
push 0x51ed00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x11d8], 0
je 0x46752c
mov ecx, dword [ebp - 0x10]
call fcn.00424d53
mov ecx, dword [ebp - 0x5c]
add ecx, 0x8ec
push ecx
mov edx, dword [ebp - 0x10]
add edx, 0x5c
push edx
push 0x51ed0c
push 0x51ed14
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [ebp - 0x5c]
add eax, 0x8ec
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x71
push ecx
push 0x51ed20
push 0x51ed28
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
cmp dword [0x528f74], 0
je 0x46752c
mov edx, dword [ebp - 0x5c]
add edx, 0x8ec
push edx
mov eax, dword [ebp - 0x10]
add eax, 0x5c
push eax
push 0x51ed34
push 0x51ed3c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [ebp - 0x5c]
add ecx, 0x8ec
push ecx
mov edx, dword [ebp - 0x10]
add edx, 0x71
push edx
push 0x51ed44
push 0x51ed50
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x15
push 0
mov eax, dword [ebp - 0x5c]
add eax, 0x11dc
push eax
call fcn.004a9cd0
add esp, 0xc
push 0x15
mov ecx, dword [ebp - 0x10]
add ecx, 0x5c
push ecx
mov edx, dword [ebp - 0x5c]
add edx, 0x11dc
push edx
call fcn.004aa370
add esp, 0xc
push 0x15
push 0
mov eax, dword [ebp - 0x5c]
add eax, 0x11f1
push eax
call fcn.004a9cd0
add esp, 0xc
push 0x15
mov ecx, dword [ebp - 0x10]
add ecx, 0x71
push ecx
mov edx, dword [ebp - 0x5c]
add edx, 0x11f1
push edx
call fcn.004aa370
add esp, 0xc
mov eax, dword [ebp - 0x5c]
add eax, 0x8ec
push eax
push 0
push str.SNBYTE
push 0x51ed60
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x1224], eax
mov edx, dword [ebp - 0x5c]
cmp dword [edx + 0x1224], 0
jne 0x4675f5
mov eax, dword [ebp - 0x5c]
add eax, 0x8ec
push eax
push 0
push str.SNLEN
push 0x51ed74
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x1224], eax
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x1224]
add eax, 0xc
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x1224], eax
mov edx, dword [ebp - 0x5c]
mov dword [edx + 0x1228], 0
mov dword [ebp - 0x38], 0
jmp 0x467614
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x1224]
add edx, 1
cmp dword [ebp - 0x38], edx
jge 0x46764e
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x38]
movsx ecx, byte [eax + 0x1206]
cmp ecx, 0x23
jne 0x46764c
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x1228]
add eax, 1
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x1228], eax
jmp 0x46760b
mov edx, dword [ebp - 0x5c]
cmp dword [edx + 0x2090], 0
je 0x4676ba
mov dword [0x528ccc], 1
push 0x14
push 0
lea eax, [ebp - 0x34]
push eax
call fcn.004a9cd0
add esp, 0xc
push 0x14
lea ecx, [ebp - 0x34]
push ecx
push 0x898
mov ecx, dword [ebp - 0x5c]
call fcn.004cd65e
lea edx, [ebp - 0x34]
push edx
call fcn.004aa127
add esp, 4
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x208c], eax
push 4
mov ecx, dword [ebp - 0x5c]
call fcn.0048c72d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
jmp 0x467bcc
cmp dword [0x528ec4], 2
jne 0x467887
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x24c0]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
jne 0x467887
mov edx, dword [ebp - 0x5c]
mov dword [edx + 0x11d4], 2
mov eax, dword [ebp - 0x5c]
movsx ecx, byte [eax + 0x11c9]
test ecx, ecx
jne 0x467887
push 8
push 0
lea edx, [ebp - 0x20]
push edx
call fcn.004a9cd0
add esp, 0xc
push 0x10
push 0
lea eax, [ebp - 0x48]
push eax
call fcn.004a9cd0
add esp, 0xc
push 0x10
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x1284]
add edx, 0xeff0
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.004aa370
add esp, 0xc
movsx ecx, byte [ebp - 0x48]
cmp ecx, 0x30
jl 0x4677d8
movsx edx, byte [ebp - 0x48]
cmp edx, 0x39
jg 0x4677d8
push 0x14
push 0
lea eax, [ebp - 0x34]
push eax
call fcn.004a9cd0
add esp, 0xc
push 4
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x34]
push edx
call fcn.004aa370
add esp, 0xc
lea eax, [ebp - 0x34]
push eax
call fcn.004aa127
add esp, 4
mov dword [ebp - 0x4c], eax
push 0x14
push 0
lea ecx, [ebp - 0x34]
push ecx
call fcn.004a9cd0
add esp, 0xc
push 6
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0x34]
push eax
call fcn.004aa370
add esp, 0xc
movsx ecx, byte [ebp - 0x2f]
cmp ecx, 0x5f
jne 0x4677b8
mov byte [ebp - 0x2f], 0x20
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x4c]
sub eax, 0x790
push eax
push str._C_s
lea ecx, [ebp - 0x20]
push ecx
call fcn.004aa1dd
add esp, 0x10
jmp 0x4677ea
push 7
lea edx, [ebp - 0x48]
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.004aa370
add esp, 0xc
mov dword [ebp - 0x38], 0
jmp 0x4677fc
mov ecx, dword [ebp - 0x38]
add ecx, 2
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], 8
jge 0x467887
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x1248]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
mov dl, byte [ebp + edx - 0x1f]
mov byte [eax + ecx + 0x2e], dl
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x1248]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov al, byte [ebp + eax - 0x20]
mov byte [ecx + edx + 0x2f], al
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x1248]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov cl, byte [edx + eax + 0x2e]
test ecx, ecx
jne 0x46785b
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x1248]
mov ecx, dword [ebp - 0x38]
mov byte [eax + ecx + 0x2e], 0x20
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x1248]
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov dl, byte [eax + ecx + 0x2f]
test edx, edx
jne 0x467882
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x1248]
mov edx, dword [ebp - 0x38]
mov byte [ecx + edx + 0x2f], 0x20
jmp 0x4677f3
cmp dword [0x528ec4], 0
je 0x4678c4
push 0x400
mov ecx, dword [ebp - 0x5c]
call fcn.004cd5d4
mov dword [ebp - 0x50], eax
push 0
mov ecx, dword [ebp - 0x50]
call fcn.004cd9f2
push 0x8e1
mov ecx, dword [ebp - 0x5c]
call fcn.004cd5d4
mov dword [ebp - 0x50], eax
push 0
mov ecx, dword [ebp - 0x50]
call fcn.004cd9f2
push 0
push 0x3e8
push 0x479
mov ecx, dword [ebp - 0x5c]
call fcn.004048e0
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0xcfc], 0
je 0x467bab
mov dword [0x528ccc], 1
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0x21c], 0xffff
mov edx, dword [ebp - 0x5c]
mov dword [edx + 0x220], 0
mov ecx, dword [ebp - 0x5c]
call fcn.0048aa8e
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [eax + 0x118]
test ecx, ecx
je 0x46795d
push 6
push 0
lea edx, [ebp - 0x58]
push edx
call fcn.004a9cd0
add esp, 0xc
mov byte [ebp - 0x58], 0xf0
mov byte [ebp - 0x57], 0x50
mov byte [ebp - 0x56], 1
mov byte [ebp - 0x55], 0
mov byte [ebp - 0x54], 0
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0x119
push ecx
call fcn.004933df
add esp, 8
mov edx, dword [ebp - 0x5c]
mov dword [edx + 0xd00], 1
push 1
push 0
mov ecx, dword [ebp - 0x5c]
call fcn.0048c65e
push 0x790
mov ecx, dword [ebp - 0x5c]
call fcn.004cd5d4
mov dword [ebp - 0x50], eax
push 0x51ed88
mov ecx, dword [ebp - 0x50]
call fcn.004cd86b
push 0x54d
mov ecx, dword [ebp - 0x5c]
call fcn.004cd5d4
mov dword [ebp - 0x50], eax
push 0x5295cc
mov ecx, dword [ebp - 0x50]
call fcn.004cd86b
mov ecx, dword [ebp - 0x5c]
call fcn.00467c85
push 6
push 0
push 0x528d60
call fcn.004a9cd0
add esp, 0xc
push 0x44
push 0
mov eax, dword [ebp - 0x5c]
add eax, 0xd10
push eax
call fcn.004a9cd0
add esp, 0xc
push 0x44
push 0
mov ecx, dword [ebp - 0x5c]
add ecx, 0xd54
push ecx
call fcn.004a9cd0
add esp, 0xc
push 0x11
push 0xff
mov edx, dword [ebp - 0x5c]
add edx, 0xd98
push edx
call fcn.004a9cd0
add esp, 0xc
mov dword [ebp - 0x38], 0
jmp 0x467a1f
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x11
jge 0x467ae9
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x35
mov dword [ecx + 0x529224], 0
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x35
mov eax, dword [ebp - 0x5c]
mov dword [edx + 0x529251], eax
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x35
mov dword [ecx + 0x529228], 0
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x35
mov dword [edx + 0x529234], 0
mov eax, dword [ebp - 0x38]
imul eax, eax, 0x35
mov dword [eax + 0x529238], 0
mov ecx, dword [ebp - 0x38]
imul ecx, ecx, 0x35
mov dword [ecx + 0x529230], 0
push 0x15
push 0
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x35
add edx, 0x52923c
push edx
call fcn.004a9cd0
add esp, 0xc
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + eax*4 + 0x55b30], 0
je 0x467ac1
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + edx*4 + 0x55b30]
mov byte [ecx], 0xfe
push 0x92
push 0
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x92
mov eax, dword [ebp - 0x5c]
lea ecx, [eax + edx + 0x16c4]
push ecx
call fcn.004a9cd0
add esp, 0xc
jmp 0x467a16
cmp dword [0x528ee4], 0
je 0x467b4c
mov dword [ebp - 0x38], 1
jmp 0x467b04
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0x11
jge 0x467b4c
mov eax, dword [ebp - 0x38]
add eax, 0x608
push eax
mov ecx, dword [ebp - 0x5c]
call fcn.004cd5d4
mov ecx, eax
call fcn.00404c30
test eax, eax
je 0x467b39
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x5c]
mov dword [edx + ecx*4 + 0x270], 1
jmp 0x467b4a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + eax*4 + 0x270], 0
jmp 0x467afb
mov dword [0x528498], 0
mov edx, dword [ebp - 0x5c]
mov dword [edx + 0xd04], 1
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x5c]
push eax
push 0x468ed2
call fcn.004ceb55
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 0xd0c], 0
push 0
push 0x3e8
push 0x996
mov ecx, dword [ebp - 0x5c]
call fcn.004048e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
jmp 0x467bcc
mov dword [0x528ccc], 1
mov ecx, dword [ebp - 0x5c]
call fcn.0048bf11
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004ce361
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret