Function at 0x421ef0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4aa4
call fcn.004528d0
mov eax, dword [0x4c6af0]
xor eax, ebp
mov dword [ebp - 0x4014], eax
mov dword [ebp - 0xc], 0
lea eax, [ebp - 0x4418]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042e750
add esp, 8
cmp dword [0x4cb290], 0
je 0x421f8f
mov byte [ebp - 0x43dd], 0x18
mov byte [ebp - 0x43dc], 1
mov byte [ebp - 0x4398], 4
mov byte [ebp - 0x4397], 4
mov byte [ebp - 0x4387], 0x3b
mov byte [ebp - 0x4386], 0x3c
mov byte [ebp - 0x43d0], 0x11
mov byte [ebp - 0x43cf], 0x11
mov byte [ebp - 0x43ce], 0x31
mov byte [ebp - 0x43cd], 0x31
mov byte [ebp - 0x433b], 0x20
lea edx, [ebp - 0x4418]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042e6a0
add esp, 8
jmp 0x421fa9
mov byte [ebp - 0x4407], 0
lea ecx, [ebp - 0x4418]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042e6a0
add esp, 8
mov eax, dword [0x4c9f9c]
and eax, 4
je 0x422004
movzx ecx, byte [0x4cb725]
push ecx
movzx edx, byte [0x4cb724]
push edx
movzx eax, byte [0x4cb723]
push eax
movzx ecx, byte [0x4cb722]
push ecx
movzx edx, byte [0x4cb721]
push edx
movzx eax, byte [0x4cb720]
push eax
push str._ID___02x__02x__02x__02x__02x__02x__r_n
push 0x517530
call fcn.00402f60
add esp, 0x20
mov ecx, dword [0x4c9f9c]
or ecx, 0x40
mov dword [0x4c9f9c], ecx
push 0x2000
push 0
push 0x4cbd90
call fcn.0044fbf0
add esp, 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
mov edx, dword [0x4cb118]
push edx
mov eax, dword [0x4cb110]
push eax
push str._____BT:__d_K_ECC_d
call fcn.00414420
add esp, 0x24
push 0x410
push 0
push 0x4cdd90
call fcn.0044fbf0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x441c], eax
push 0x516fb0
push 0
push str.LogEarly
push 0x4b0e3c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x4c9f97], al
mov dword [ebp - 0x4434], 1
movsx ecx, byte [0x4c9f97]
test ecx, ecx
je 0x4220e9
cmp dword [0x4cb290], 0
je 0x4220b6
push 0x4c9e34
push 0x517210
push str._szElyOTP_s.log
push 0x5170e0
call fcn.0044fc6a
add esp, 0x10
jmp 0x4220d2
push 0x4c9e34
push 0x517210
push str._szEarly_s.log
push 0x5170e0
call fcn.0044fc6a
add esp, 0x10
push 0x4b0e6c
push 0x5170e0
call fcn.00451db8
add esp, 8
mov dword [0x4cb92c], eax
mov byte [ebp - 0x4a65], 1
mov byte [ebp - 0x4649], 1
push 0x200
push 0
lea edx, [ebp - 0x4638]
push edx
call fcn.0044fbf0
add esp, 0xc
cmp dword [0x4cb0c0], 1
jl 0x42213e
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x441c]
push eax
push str.Erase_Time_d
call fcn.00414420
add esp, 0x24
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x441c], eax
mov dword [ebp - 0x4658], 0
mov eax, dword [0x4cb0ec]
cdq
idiv dword [0x4cb0f4]
mov dword [ebp - 0x4640], eax
mov dword [ebp - 0x4648], 0
mov dword [ebp - 0x4424], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x4654], 0
mov dword [ebp - 0x4430], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x442c], 0
mov dword [ebp - 0x4644], 1
mov dword [ebp - 0x4a6c], 0
jmp 0x4221cb
mov eax, dword [ebp - 0x4a6c]
add eax, 1
mov dword [ebp - 0x4a6c], eax
cmp dword [ebp - 0x4a6c], 0x10
jge 0x422205
mov edx, 1
mov ecx, dword [ebp - 0x4a6c]
shl edx, cl
mov dword [ebp - 0x4a70], edx
mov eax, dword [ebp - 0x4a70]
cmp eax, dword [ebp - 0x4640]
jl 0x422203
mov ecx, dword [ebp - 0x4a70]
mov dword [ebp - 0x4640], ecx
jmp 0x422205
jmp 0x4221bc
cmp dword [0x5174e4], 0
je 0x422218
mov dword [0x4cb11c], 1
push 0x516fb0
push 0
push 0x4b0e80
push 0x516f8c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [ebp - 1], al
movsx edx, byte [ebp - 1]
test edx, edx
je 0x422255
mov dword [0x5174e4], 0
movzx eax, byte [ebp - 1]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00421a50
add esp, 8
mov dword [ebp - 0x4650], 0
jmp 0x422270
mov edx, dword [ebp - 0x4650]
add edx, 1
mov dword [ebp - 0x4650], edx
cmp dword [ebp - 0x4650], 8
jge 0x42228e
mov eax, dword [ebp - 0x4650]
mov ecx, dword [ebp - 0x4650]
mov dword [eax*4 + 0x4cb120], ecx
jmp 0x422261
cmp dword [0x4cb290], 0
je 0x4222ad
push 0x80
push 0
push 0x4cb378
call fcn.0044fbf0
add esp, 0xc
jmp 0x4222c1
push 0x80
push 0
push 0x4cb2f8
call fcn.0044fbf0
add esp, 0xc
cmp dword [0x516654], 2
je 0x4222d7
cmp dword [0x516654], 3
jne 0x422a6e
mov byte [ebp - 0x4649], 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.0042fbd0
add esp, 8
xor eax, eax
cmp dword [0x4cb0d8], 2
setne al
lea eax, [eax + eax + 1]
mov dword [ebp - 0x4a74], eax
mov dword [ebp - 0x4650], 0
jmp 0x42231d
mov ecx, dword [ebp - 0x4650]
add ecx, 1
mov dword [ebp - 0x4650], ecx
mov edx, dword [ebp - 0x4650]
cmp edx, dword [0x4cb11c]
jge 0x422a6e
mov eax, dword [ebp - 0x4650]
mov ecx, dword [eax*4 + 0x4cb120]
mov dword [ebp - 0x4a64], ecx
push 0x4000
push 0
lea edx, [ebp - 0x4010]
push edx
call fcn.0044fbf0
add esp, 0xc
cmp dword [0x4cb290], 0
je 0x4224c8
mov dword [ebp - 0x4a8c], 0x4000
mov byte [ebp - 0x4a86], 0
mov byte [ebp - 0x4a85], 0
push 0x4ce1a0
mov eax, dword [ebp - 0x4a8c]
push eax
push 0
movzx ecx, byte [ebp - 0x4a85]
push ecx
movzx edx, byte [ebp - 0x4a86]
push edx
movzx eax, byte [ebp - 0x4a64]
push eax
push 0xd
mov ecx, dword [ebp + 8]
push ecx
call fcn.004306d0
add esp, 0x20
lea edx, [ebp - 0x4a84]
push edx
lea eax, [ebp - 0x4010]
push eax
push 0x4ce1a0
mov ecx, dword [ebp - 0x4a64]
push ecx
call fcn.00421b50
add esp, 0x10
mov dword [ebp - 0xc], eax
movsx edx, byte [0x4c9f97]
test edx, edx
je 0x42246f
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x4a64]
push ecx
push str._r_nCE:_d_Total_Early__d_r_n
mov edx, dword [0x4cb92c]
push edx
call fcn.00451bd8
add esp, 0x10
mov dword [ebp - 0x4a90], 0
jmp 0x42241f
mov eax, dword [ebp - 0x4a90]
add eax, 1
mov dword [ebp - 0x4a90], eax
mov ecx, dword [ebp - 0x4a90]
cmp ecx, dword [ebp - 0xc]
jge 0x42246f
mov edx, dword [ebp - 0x4a90]
cmp dword [ebp + edx*4 - 0x4010], 0
je 0x42246d
mov eax, dword [ebp - 0x4a90]
mov ecx, dword [ebp + eax*4 - 0x4010]
push ecx
mov edx, dword [ebp - 0x4a64]
push edx
mov eax, dword [ebp - 0x4a90]
add eax, 1
push eax
push str._d_Early__d__d__r_n
mov ecx, dword [0x4cb92c]
push ecx
call fcn.00451bd8
add esp, 0x14
jmp 0x422410
mov edx, dword [ebp - 0x4650]
shl edx, 4
mov eax, dword [ebp - 0x4a84]
mov dword [edx + 0x4cb378], eax
mov ecx, dword [ebp - 0x4650]
shl ecx, 4
mov edx, dword [ebp - 0x4a80]
mov dword [ecx + 0x4cb37c], edx
mov eax, dword [ebp - 0x4650]
shl eax, 4
mov ecx, dword [ebp - 0x4a7c]
mov dword [eax + 0x4cb380], ecx
mov edx, dword [ebp - 0x4650]
shl edx, 4
mov eax, dword [ebp - 0x4a78]
mov dword [edx + 0x4cb384], eax
jmp 0x42230e
mov dword [ebp - 0x4428], 0
jmp 0x4224e3
mov ecx, dword [ebp - 0x4428]
add ecx, 1
mov dword [ebp - 0x4428], ecx
mov edx, dword [ebp - 0x4428]
cmp edx, dword [0x4cb0f4]
jge 0x422a69
mov eax, dword [0x4cb164]
neg eax
sbb eax, eax
and eax, 2
mov dword [ebp - 0x4a94], eax
mov dword [ebp - 0x4a98], 2
mov dword [0x4cb284], 0
mov dword [0x4cb280], 0
mov dword [ebp - 0x465c], 0
jmp 0x422540
mov ecx, dword [ebp - 0x465c]
add ecx, 1
mov dword [ebp - 0x465c], ecx
mov edx, dword [ebp - 0x465c]
cmp edx, dword [0x4cb0f0]
jge 0x4229ba
cmp dword [0x4cb928], 0
je 0x422562
xor eax, eax
jmp 0x422aee
cmp dword [0x5174a0], 0
jne 0x422572
xor eax, eax
jmp 0x422aee
mov eax, dword [ebp - 0x4428]
imul eax, dword [ebp - 0x4640]
add eax, dword [ebp - 0x465c]
mov dword [ebp - 0x4420], eax
mov ecx, dword [ebp - 0x4658]
add ecx, 1
mov dword [ebp - 0x4658], ecx
mov edx, dword [ebp - 0x4658]
mov dword [0x5174b0], edx
mov eax, dword [ebp - 8]
mov dword [0x5174b4], eax
mov ecx, dword [ebp - 0x4654]
mov dword [0x5174b8], ecx
mov edx, dword [ebp - 0x4430]
mov dword [0x5174bc], edx
mov eax, dword [ebp - 0x10]
mov dword [0x5174c0], eax
mov ecx, dword [ebp - 0x442c]
mov dword [0x5174c4], ecx
cmp dword [0x4cb2a0], 0
je 0x4226bc
mov edx, dword [0x4cb2a0]
and edx, 2
je 0x422647
mov eax, dword [ebp - 0x4420]
and eax, 1
jne 0x422645
push 0x4ce1a0
lea ecx, [ebp - 0x4638]
push ecx
push 2
mov edx, dword [ebp - 0x4420]
push edx
mov eax, dword [ebp - 0x4a64]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042e890
add esp, 0x18
test eax, eax
jne 0x422645
mov edx, dword [ebp - 0x463c]
add edx, 1
mov dword [ebp - 0x463c], edx
mov eax, dword [0x4cb280]
add eax, 1
mov dword [0x4cb280], eax
jmp 0x42268f
push 0x4ce1a0
lea ecx, [ebp - 0x4638]
push ecx
push 0
mov edx, dword [ebp - 0x4420]
push edx
mov eax, dword [ebp - 0x4a64]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042e890
add esp, 0x18
test eax, eax
jne 0x42268f
mov edx, dword [ebp - 0x463c]
add edx, 1
mov dword [ebp - 0x463c], edx
mov eax, dword [0x4cb280]
add eax, 1
mov dword [0x4cb280], eax
lea ecx, [ebp - 0x4a60]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042eeb0
add esp, 8
movzx eax, byte [ebp - 0x4a60]
test eax, eax
je 0x4226bc
mov ecx, dword [0x4cb284]
add ecx, 1
mov dword [0x4cb284], ecx
mov byte [ebp - 0x4407], 0
xor edx, edx
je 0x4226f4
lea eax, [ebp - 0x4418]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042e750
add esp, 8
mov byte [ebp - 0x4404], 0x20
lea edx, [ebp - 0x4418]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042e6a0
add esp, 8
mov dword [ebp - 0x463c], 0
mov dword [ebp - 0x4a98], 1
movzx ecx, byte [ebp - 0x4649]
push ecx
mov edx, dword [ebp - 0x4a98]
push edx
push 0x4ce1a0
mov eax, dword [ebp - 0x463c]
push eax
mov ecx, dword [ebp - 0x4420]
push ecx
mov edx, dword [ebp - 0x4a64]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042eaf0
add esp, 0x1c
test eax, eax
jne 0x422750
mov ecx, dword [ebp - 0x4424]
add ecx, 1
mov dword [ebp - 0x4424], ecx
mov edx, dword [0x4cb298]
mov dword [ebp - 0x4644], edx
mov eax, dword [ebp - 0x4644]
push eax
mov ecx, dword [ebp - 0x4420]
push ecx
call fcn.004218c0
add esp, 8
test eax, eax
jne 0x42283a
mov edx, dword [ebp - 0x4420]
and edx, dword [ebp - 0x4a74]
mov dword [ebp - 0x4a9c], edx
cmp dword [ebp - 0x4a9c], 3
ja case.default.0x42279b
mov eax, dword [ebp - 0x4a9c]
jmp dword [eax*4 + 0x422b00]
mov ecx, dword [ebp - 0x4654]
add ecx, 1
mov dword [ebp - 0x4654], ecx
jmp case.default.0x42279b
mov edx, dword [ebp - 0x4430]
add edx, 1
mov dword [ebp - 0x4430], edx
jmp case.default.0x42279b
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
jmp case.default.0x42279b
mov ecx, dword [ebp - 0x442c]
add ecx, 1
mov dword [ebp - 0x442c], ecx
mov edx, dword [ebp - 0x4420]
mov byte [edx + 0x4cbd90], 1
movsx eax, byte [0x4c9f97]
test eax, eax
je 0x422833
mov ecx, dword [ebp - 0x4434]
mov dword [ebp - 0x4aa0], ecx
mov edx, dword [ebp - 0x4420]
push edx
mov eax, dword [ebp - 0x4aa0]
push eax
push str._d_Early__d_1_r_n
mov ecx, dword [0x4cb92c]
push ecx
call fcn.00451bd8
add esp, 0x10
mov edx, dword [ebp - 0x4434]
add edx, 1
mov dword [ebp - 0x4434], edx
jmp 0x422531
movsx eax, byte [0x4c9f97]
test eax, eax
je 0x422882
mov ecx, dword [ebp - 0x4434]
mov dword [ebp - 0x4aa4], ecx
mov edx, dword [ebp - 0x4420]
push edx
mov eax, dword [ebp - 0x4aa4]
push eax
push str._d_Good__d_0_r_n
mov ecx, dword [0x4cb92c]
push ecx
call fcn.00451bd8
add esp, 0x10
mov edx, dword [ebp - 0x4434]
add edx, 1
mov dword [ebp - 0x4434], edx
mov dword [ebp - 0x4a98], 2
cmp dword [0x4cb29c], 0
je 0x4229b5
mov byte [ebp - 0x4407], 0
mov dword [ebp - 0x4a98], 2
movzx eax, byte [ebp - 0x4a65]
push eax
mov ecx, dword [ebp - 0x4a98]
push ecx
lea edx, [ebp - 0x4638]
push edx
mov eax, dword [ebp - 0x463c]
push eax
mov ecx, dword [ebp - 0x4420]
push ecx
mov edx, dword [ebp - 0x4a64]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042e990
add esp, 0x1c
test eax, eax
jne 0x422902
mov ecx, dword [ebp - 0x4648]
add ecx, 1
mov dword [ebp - 0x4648], ecx
cmp dword [0x4ca810], 0
je 0x422902
jmp 0x422531
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 0x4407], 0
mov dword [ebp - 0x4a98], 1
movzx edx, byte [ebp - 0x4649]
push edx
mov eax, dword [ebp - 0x4a98]
push eax
push 0x4ce1a0
mov ecx, dword [ebp - 0x463c]
push ecx
mov edx, dword [ebp - 0x4420]
push edx
mov eax, dword [ebp - 0x4a64]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042eaf0
add esp, 0x1c
test eax, eax
jne 0x422963
mov edx, dword [ebp - 0x4424]
add edx, 1
mov dword [ebp - 0x4424], edx
push 2
mov eax, dword [ebp - 0x4420]
push eax
call fcn.004218c0
add esp, 8
test eax, eax
jne 0x422986
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x422531
mov byte [ebp - 0x4407], 0
push 0x4ce1a0
lea edx, [ebp - 0x4638]
push edx
push 0
mov eax, dword [ebp - 0x4420]
push eax
mov ecx, dword [ebp - 0x4a64]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042e890
add esp, 0x18
jmp 0x422531
mov eax, dword [ebp - 0x4650]
imul eax, dword [0x4cb0f4]
add eax, dword [ebp - 0x4428]
shl eax, 4
mov ecx, dword [ebp - 0x4654]
mov dword [eax + 0x4cb2f8], ecx
mov edx, dword [ebp - 0x4650]
imul edx, dword [0x4cb0f4]
add edx, dword [ebp - 0x4428]
shl edx, 4
mov eax, dword [ebp - 0x4430]
mov dword [edx + 0x4cb2fc], eax
mov ecx, dword [ebp - 0x4650]
imul ecx, dword [0x4cb0f4]
add ecx, dword [ebp - 0x4428]
shl ecx, 4
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x4cb300], edx
mov eax, dword [ebp - 0x4650]
imul eax, dword [0x4cb0f4]
add eax, dword [ebp - 0x4428]
shl eax, 4
mov ecx, dword [ebp - 0x442c]
mov dword [eax + 0x4cb304], ecx
mov dword [ebp - 0x4654], 0
mov dword [ebp - 0x4430], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x442c], 0
jmp 0x4224d4
jmp 0x42230e
mov byte [ebp - 0x4407], 1
lea edx, [ebp - 0x4418]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042e6a0
add esp, 8
cmp dword [0x4cb0c0], 1
jl 0x422ab9
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x441c]
push eax
push str.Test_Time_d
call fcn.00414420
add esp, 0x24
mov ecx, dword [ebp - 0x4648]
mov dword [0x4c81b4], ecx
mov edx, dword [ebp - 0x4424]
mov dword [0x4c81b8], edx
movsx eax, byte [0x4c9f97]
test eax, eax
je 0x422aeb
mov ecx, dword [0x4cb92c]
push ecx
call fcn.00451b5c
add esp, 4
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x4014]
xor ecx, ebp
call fcn.0044e8ae
mov esp, ebp
pop ebp
ret