Function at 0x428520
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x4456c5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c0
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x20], esi
call fcn.00412b10
xor ebx, ebx
lea ecx, [esi + 0x120]
mov dword [esp + 0x1d8], ebx
mov dword [esi], 0x4466d0
call fcn.00424950
lea eax, [esi + 0x148]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov eax, dword [esp + 0x1e0]
cmp eax, ebx
mov ebp, 1
mov byte [esp + 0x1d8], 2
mov dword [esi + 0x114], ebx
mov dword [esi + 0x118], ebx
mov dword [esi + 0x11c], ebx
mov dword [esi + 0x14fc], ebx
mov dword [esi + 0x14bf], ebp
je 0x4285b2
push eax
lea eax, [esi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1ec]
push ecx
lea edx, [esi + 0x1508]
push edx
mov dword [esi + 0x1500], eax
mov dword [esi + 0x1504], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esp + 0x1e8]
lea edi, [esi + 0x10]
push edi
push ebp
push 0x45e518
mov dword [esi + 0x14c3], ebp
mov dword [esi + 0x162c], ebp
mov dword [esi + 0x1620], ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x45e520
mov dword [esi + 0x1618], ebx
mov dword [esi + 0x1055], eax
mov dword [esi + 0x1630], ebx
mov dword [esi + 0x2145], ebx
mov dword [esi + 0x1628], ebx
mov dword [esi + 0x161c], ebx
call ebp
xor ecx, ecx
cmp eax, ebx
push edi
setne cl
push ebx
push 0x45e524
push 0x45e52c
mov dword [esi + 0x14f3], ecx
call ebp
cmp eax, 4
mov dword [esi + 0x14f7], eax
ja case.default.0x428654
jmp dword [eax*4 + 0x428df8]
push edi
push 0x4268
push 0x45e530
push 0x45e540
jmp 0x4286b3
push edi
push 0x61a8
push 0x45e548
push 0x45e558
jmp 0x4286b3
push edi
push 0x88b8
push 0x45e560
push 0x45e570
jmp 0x4286b3
push edi
push 0x249f0
push 0x45e578
push 0x45e588
jmp 0x4286b3
push edi
push 0x493e0
push 0x45e590
push 0x45e5a0
call ebp
mov dword [esi + 0x1624], eax
push edi
push 0x80
push 0x45e5a8
push 0x45e5b0
mov byte [esi + 0x2126], 0
mov dword [esi + 0x2127], ebx
mov word [esi + 0x212b], bx
mov dword [esi + 0x160c], ebx
call ebp
push edi
push 0xf
push 0x45e5b4
push 0x45e5bc
mov dword [esi + 0x14c7], eax
call ebp
push edi
push 4
push 0x45e5c0
push 0x45e5c8
mov dword [esi + 0x14cb], eax
call ebp
push edi
push 0x19
push 0x45e5cc
push 0x45e5d4
mov dword [esi + 0x14d3], eax
call ebp
push edi
push 0xa
push 0x45e5d8
push 0x45e5e0
mov dword [esi + 0x14d7], eax
call ebp
push edi
push 0xc
push 0x45e5e4
push 0x45e5ec
mov dword [esi + 0x14db], eax
call ebp
push edi
push 0x78
lea edx, [eax + eax*4]
push 0x45e5f0
shl edx, 1
push 0x45e5f8
mov dword [esi + 0x14df], edx
call ebp
push edi
push 0x3c
push 0x45e5fc
push 0x45e604
mov dword [esi + 0x14e3], eax
call ebp
push edi
push ebx
lea eax, [eax + eax*4]
push 0x45e608
shl eax, 1
push 0x45e610
mov dword [esi + 0x14e7], eax
call ebp
push edi
push ebx
push 0x45e614
push 0x45e620
mov dword [esi + 0x14eb], eax
call ebp
push edi
push 6
push 0x45e624
push 0x45e630
mov dword [esi + 0x14ef], eax
call ebp
push edi
push 0x40
push 0x45e634
push 0x45e644
mov dword [esi + 0x14cf], eax
call ebp
mov byte [esi + 0x14fb], al
push edi
push ebx
push 0x45e648
push 0x45e654
call ebp
push edi
push ebx
push 0x45e658
push 0x45e668
mov dword [esi + 0x2149], eax
call ebp
mov dword [esi + 0x214d], eax
cmp dword [esi + 0x14cf], ebx
jg 0x428816
mov dword [esi + 0x14cf], 1
mov ecx, dword [esi + 0x14cf]
mov eax, 7
cmp ecx, eax
jle 0x42882b
mov dword [esi + 0x14cf], eax
push edi
push 0xf
lea ecx, [esp + 0x44]
push ecx
push 0x45e66c
push 0x45e678
push 0x45e684
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x45e688
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x428866
mov dword [esi + 0x1618], 1
push 0x45e694
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x428884
mov dword [esi + 0x1618], 2
push 0x45e69c
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x42889e
mov dword [esi + 0x1618], ebx
push edi
push ebx
push 0x45e6a8
push 0x45e6b0
call ebp
cmp dword [esi + 0x1618], 2
mov dword [esi + 0x14bb], eax
jne 0x4288c6
or eax, 0x80
mov dword [esi + 0x14bb], eax
push edi
push 0xa
lea edx, [esp + 0x44]
push edx
push 0x45e6b4
push 0x45e6b8
push 0x45e6c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 4
lea eax, [esp + 0x40]
push 0x45e6c4
push eax
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428908
push edi
mov ecx, esi
call fcn.00425770
jmp 0x428b07
push 6
lea ecx, [esp + 0x40]
push 0x45e6cc
push ecx
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x42892d
push edi
mov ecx, esi
call fcn.00425ae0
jmp 0x428b07
push 4
lea edx, [esp + 0x40]
push 0x45e6d4
push edx
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428952
push edi
mov ecx, esi
call fcn.00425e60
jmp 0x428b07
push 3
lea eax, [esp + 0x40]
push 0x45e6dc
push eax
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428977
push edi
mov ecx, esi
call fcn.004263a0
jmp 0x428b07
push 6
lea ecx, [esp + 0x40]
push 0x45e6e0
push ecx
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x42899c
push edi
mov ecx, esi
call fcn.00426670
jmp 0x428b07
push 3
lea edx, [esp + 0x40]
push 0x45e6e8
push edx
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x4289c1
push edi
mov ecx, esi
call fcn.004268b0
jmp 0x428b07
push 9
lea eax, [esp + 0x40]
push 0x45e6ec
push eax
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x4289e6
push edi
mov ecx, esi
call fcn.00426cd0
jmp 0x428b07
push 6
lea ecx, [esp + 0x40]
push str.OptoScc
push ecx
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428a0b
push edi
mov ecx, esi
call fcn.00426d60
jmp 0x428b07
push 6
lea edx, [esp + 0x40]
push 0x45e700
push edx
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428a30
push edi
mov ecx, esi
call fcn.00427210
jmp 0x428b07
push 6
lea eax, [esp + 0x40]
push 0x45e708
push eax
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428a55
push edi
mov ecx, esi
call fcn.00427610
jmp 0x428b07
push 5
lea ecx, [esp + 0x40]
push 0x45e710
push ecx
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428a7a
push edi
mov ecx, esi
call fcn.00427610
jmp 0x428b07
push 9
lea edx, [esp + 0x40]
push 0x45e718
push edx
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428a9c
push edi
mov ecx, esi
call fcn.00427b40
jmp 0x428b07
push 5
lea eax, [esp + 0x40]
push 0x45e724
push eax
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428abe
push edi
mov ecx, esi
call fcn.00427820
jmp 0x428b07
push 7
lea ecx, [esp + 0x40]
push str.LoopBack
push ecx
call fcn.0043a790
add esp, 0xc
test eax, eax
jne 0x428ae0
push edi
mov ecx, esi
call fcn.00427b10
jmp 0x428b07
push 3
lea edx, [esp + 0x40]
push str.AXIP
push edx
call fcn.0043a790
add esp, 0xc
test eax, eax
mov ecx, esi
push edi
jne 0x428b02
call fcn.004282e0
jmp 0x428b07
call fcn.00427cd0
test eax, eax
je 0x428dd8
lea ebx, [esi + 0x1064]
mov dword [esp + 0x10], 0x14
lea ecx, [ecx]
push 0x45e740
lea eax, [ebx - 0xb]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esp + 0x10]
mov dword [ebx], 0
mov dword [ebx + 4], 0
add ebx, 0x33
dec eax
mov dword [esp + 0x10], eax
jne 0x428b20
mov eax, dword [esi + 0x14c3]
test eax, eax
je 0x428dd8
mov eax, dword [esi + 0x162c]
test eax, eax
je 0x428cd3
push 0x15c
call fcn.004394a2
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
mov byte [esp + 0x1d8], 3
je 0x428ba6
mov ecx, dword [esp + 0x1ec]
add ecx, 0x64
push ecx
mov ecx, dword [esp + 0x1ec]
call fcn.00401480
push eax
mov ecx, ebx
call fcn.00435990
jmp 0x428ba8
xor eax, eax
mov ecx, eax
mov byte [esp + 0x1d8], 2
mov dword [esi + 0x144], eax
call fcn.004359f0
test eax, eax
jne 0x428cc3
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edi
push 0xa
lea edx, [esp + 0x1c]
push edx
push 0x45e74c
push 0x45e754
push 0x45e75c
call ebx
cmp dword [esi + 0x14bf], 2
jne 0x428bf8
mov ax, word [0x45e76c]
mov word [esp + 0x14], ax
push edi
push 0x13
lea ecx, [esp + 0x2c]
push ecx
push 0x45e770
push 0x45e774
push 0x45e77c
call ebx
push edi
push 0x27
lea edx, [esp + 0x144]
push edx
push 0x45e780
push 0x45e784
push 0x45e790
call ebx
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x178]
push 0x45e794
push eax
call ebp
add esp, 0x14
lea ecx, [esp + 0x16c]
push ecx
mov ecx, dword [esi + 0x144]
call fcn.004359d0
cmp dword [esi + 0x14bf], 2
jne 0x428cc3
push edi
push 0xa
lea edx, [esp + 0x1c]
push edx
push str.NOTHING
push 0x45e7ac
push 0x45e7b4
call ebx
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x178]
push str._s_On__s__s_
push eax
call ebp
add esp, 0x14
lea ecx, [esp + 0x16c]
push ecx
mov ecx, dword [esi + 0x144]
call fcn.004359d0
mov ecx, dword [esi + 0x144]
call fcn.00435b50
jmp 0x428d9a
cmp dword [esi + 0x14bf], 0xf
jne 0x428d75
push 0x15c
call fcn.004394a2
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
mov byte [esp + 0x1d8], 4
je 0x428d20
mov edx, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
add edx, 0x64
push edx
call fcn.00401480
push eax
mov ecx, ebx
call fcn.00435990
jmp 0x428d22
xor eax, eax
push edi
push 0x13
mov dword [esi + 0x144], eax
lea eax, [esp + 0x2c]
push eax
push 0x45e7d4
push 0x45e7d8
push 0x45e7e0
mov byte [esp + 0x1f0], 2
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x170]
push 0x45e7e4
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x16c]
push eax
jmp 0x428cb8
push edi
push 0
push 0x45e7e8
push 0x45e7f4
call ebp
mov ecx, dword [esi + 0x1055]
mov edx, dword [ecx + eax*4 + 0x30]
mov eax, dword [edx + 0x144]
mov dword [esi + 0x144], eax
push 0xbe8
call fcn.004394a2
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x1d8], 5
je 0x428dd0
mov ecx, dword [esi + 0x212d]
mov edx, dword [esp + 0x1ec]
push ecx
push edx
push esi
mov ecx, eax
call fcn.00429a20
jmp 0x428dd2
xor eax, eax
mov dword [esi + 0x2145], eax
mov ecx, dword [esp + 0x1d0]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1cc
ret 0x10