Function at 0x10023486
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x1005a94a
call fcn.10059860
sub esp, 0x178
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x64], edi
je 0x1002352b
mov edx, dword [ebp + 0x24]
mov esi, dword [ebp + 8]
mov eax, dword [edx + 4]
mov ecx, dword [esi + 4]
sub eax, dword [edx]
sub ecx, dword [esi]
sar eax, 2
sar ecx, 2
cmp ecx, eax
jbe 0x100234eb
mov eax, dword [ebp + 0x10]
push 0x589c
push ecx
push edx
push ecx
push eax
push dword [ebp + 0x20]
mov dword [eax], ecx
mov edx, 0x118d
mov cl, 1
call fcn.100232cd
add esp, 0x18
jmp 0x10023dd3
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 4]
sub eax, dword [esi]
sar eax, 2
mov dword [edi], eax
cmp eax, dword [ecx]
jge 0x10023dd3
xor ebx, ebx
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], ebx
push eax
mov ecx, esi
call fcn.100267c6
mov ecx, dword [ebp + 0x10]
inc dword [edi]
mov eax, dword [edi]
cmp eax, dword [ecx]
jl 0x10023507
jmp 0x10023dd3
push 1
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x2c], edi
call fcn.10001ba5
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x94], 0xfffffffa
mov dword [ebp - 0x50], 0xfffffff6
mov dword [ebp - 0x1c], ebx
jmp 0x10023569
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], 0xa8ea
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10023556
push 0x10f7
push 1
mov dl, 1
push 0x3123
push 0x681
mov cl, dl
call fcn.100225c4
push 1
push 1
lea eax, [ebp - 0x94]
mov edx, 0x7d78
push 0x42f5
push eax
mov cl, 1
call fcn.1002279a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x114]
add esp, 0x20
call fcn.10001c28
mov dword [ebp - 0x20], 0x6727
cmp dword [ebp - 0x20], 0x689f
jle 0x1002365f
mov edi, ebx
mov dword [ebp - 0x3c], ebx
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov ecx, esi
mov dword [ebp - 0x18], edi
mov esi, edi
mov eax, ebx
shl esi, cl
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], esi
mov ecx, eax
mov dword [ebp - 0x50], esi
mov edi, ebx
sar esi, cl
mov eax, esi
lea ecx, [ebp - 0x15c]
xor eax, edi
cdq
push edx
push eax
call fcn.10003ca8
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002360b
mov eax, dword [eax]
push eax
call fcn.100430bc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x15c]
call fcn.10001f32
inc edi
cmp edi, 0x5154
jl 0x100235ef
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x3a83
jl 0x100235e6
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x3c]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x1cbe
jl 0x100235d5
inc edi
mov dword [ebp - 0x3c], edi
cmp edi, 0x7762
jl 0x100235d0
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x20], 0x6647
jge 0x10023673
push str.snfc_ljctn_rdymzrzcd_idwfklvj_psaigfo_uqyeym_rlnadzqw_gles_bian_ijssay_ocknfdzar_fehqdtz
call fcn.100430bc
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], ebx
push 3
call fcn.10001ba5
mov dword [ebp - 4], 3
mov dword [ebp - 0x90], 0xfffffff6
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], ebx
jmp 0x100236c6
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x184], 0xffffffff
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
jl 0x100236b5
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10025084
push 1
push 0x6124
push 0x1a51
push 0x64d0
push 0x111a
push ebx
push 0x4702
xor dl, dl
lea ecx, [ebp - 0x90]
call fcn.100248da
add esp, 0x24
mov byte [ebp - 0x28], bl
lea eax, [ebp - 0x28]
push eax
push 1
sub esp, 0xc
call fcn.10023e89
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd0]
add esp, 0x14
call fcn.10001c28
push 0x7c
pop eax
mov word [ebp - 0x58], ax
lea ecx, [ebp - 0xe8]
xor eax, eax
mov word [ebp - 0x5c], 0x3200
mov word [ebp - 0x56], ax
mov word [ebp - 0xe8], ax
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 0xd4], 7
mov dword [ebp - 0xd8], ebx
call fcn.100057a8
lea eax, [ebp - 0xe8]
mov dword [ebp - 4], 4
push eax
mov edx, esi
lea ecx, [ebp - 0x84]
call fcn.10022145
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 6
call fcn.10005bc7
mov dword [ebp - 0x38], 0xfffffffc
mov dword [ebp - 0x1c], 0xc1188e17
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], 7
jl 0x100238a7
mov dword [ebp - 0x14], 0x1628
cmp dword [ebp - 0x14], 0x1657
jle 0x1002382a
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x3c], 0x1cf9
mov esi, ebx
mov ebx, dword [ebp - 0x20]
lea eax, [ebx + esi]
mov ecx, 0x10075ef8
or eax, edi
cdq
push edx
push eax
call fcn.10001a90
inc esi
cmp esi, 0x7d00
jl 0x100237dd
dec ebx
dec dword [ebp - 0x3c]
push 0
mov dword [ebp - 0x20], ebx
pop ebx
jne 0x100237d8
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x7094
jl 0x100237ce
inc edi
cmp edi, 0x624b
jl 0x100237c9
push 0x26a2
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
mov dword [ebp - 0xa0], 0xeede0b40
mov byte [ebp - 4], 7
cmp dword [ebp - 0x14], 0x12b2
jge 0x10023874
mov edx, str.huem_cecrpfq_zbzzgzbi
mov ecx, 0x10075ef8
call fcn.1000350c
jmp 0x10023874
push 0x78c4
push 1
push ecx
push ecx
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 6
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x24], ebx
push eax
mov ecx, 0x6259
call fcn.1002419f
add esp, 0x18
inc dword [ebp - 0x38]
jmp 0x100237ad
mov dword [ebp - 0x1c], ebx
jmp 0x10023945
mov dword [ebp - 0x14], 0xcf1c
lea ecx, [ebp - 0xc4]
push 1
call fcn.10001ba5
lea eax, [ebp - 0xc4]
mov byte [ebp - 4], 9
push eax
push 1
lea edx, [ebp - 0x30]
call fcn.10022331
pop ecx
pop ecx
mov dword [ebp - 0x30], ebx
jmp 0x100238f0
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x9c], 0xffffffff
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 1
jl 0x100238df
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
jne 0x10023903
cmp dword [ebp - 0x14], ebx
je 0x10023906
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x18], ebx
jne 0x10023922
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xc4]
lea ecx, [ebp - 0xc4]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 6
call fcn.10001c28
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xb
jl 0x100238af
mov dword [ebp - 0x58], ebx
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x14], 0xfffffff7
push 4
call fcn.10001ba5
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x20], 0x70fd
cmp dword [ebp - 0x20], 0x742f
jle 0x100239c0
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
cdq
lea ecx, [ebp - 0x144]
push edx
push eax
call fcn.10003ca8
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10023999
mov eax, dword [eax]
push eax
call fcn.100430bc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x144]
call fcn.10001f32
inc edi
cmp edi, 0x4429
jl 0x1002397e
inc esi
cmp esi, 0x3f91
jl 0x1002397c
mov dword [ebp - 0x2c], 0x537c57f3
cmp dword [ebp - 0x20], 0x6d4f
jge 0x100239db
push str.bpnveliw_uppzhc_yrl_etlot_vdimoep_csb_pghghgt_pkwfpuj_mqmpdhn_bhhb
call fcn.100430bc
pop ecx
xor eax, eax
mov dword [ebp - 4], 0xa
inc eax
lea ecx, [ebp - 0x108]
push ecx
push eax
push 0x5231
push eax
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0xac]
push 0x7010
mov ecx, 0x7cdb
call fcn.100228ba
add esp, 0x14
cmp dword [ebp - 0x14], ebx
je 0x10023a2c
lea eax, [ebp - 0x27]
mov byte [ebp - 0x27], bl
push eax
push 1
sub esp, 0xc
call fcn.100233a0
add esp, 0x14
jmp 0x10023aff
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x2c], 0x9e520c3d
mov dword [ebp - 0x14], ebx
jmp 0x10023af5
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10023ae5
mov dword [ebp - 0x1c], ebx
jmp 0x10023a5f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x40], 6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10023a51
mov dword [ebp - 0x40], ebx
jmp 0x10023aa0
xor ecx, ecx
mov dword [ebp - 0x2c], 0xb0a11721
mov eax, dword [ebp - 0x14]
mov dl, 1
cmp eax, 1
lea eax, [ebp - 0x25]
push 0x12ee
setg cl
push ecx
push eax
push ecx
mov dword [ebp - 0x2c], ecx
push ecx
mov byte [ebp - 0x25], bl
mov ecx, 0x3e83
call fcn.10022a7c
add esp, 0x14
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 3
jle 0x10023a6a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x20], ebx
jl 0x10023ac0
cmp dword [ebp - 0x50], ebx
jne 0x10023ac0
mov edi, ebx
jmp 0x10023ac3
xor edi, edi
inc edi
mov eax, dword [ebp - 0x14]
xor edx, edx
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xac]
cmp dword [ecx + eax*4], edi
sete dl
xor eax, eax
cmp edx, dword [ecx + esi*4]
setle al
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10023a4c
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x10023a41
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 6
call fcn.10001c28
mov dword [ebp - 0x20], 0x486e
cmp dword [ebp - 0x20], 0x4996
jle 0x10023b75
push ebx
push 0xf99
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x174]
or eax, esi
cdq
push edx
push eax
call fcn.10003ca8
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10023b4e
mov eax, dword [eax]
push eax
call fcn.100430bc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x174]
call fcn.10001f32
inc edi
cmp edi, 0x15ec
jl 0x10023b32
inc esi
cmp esi, 0x5ead
jl 0x10023b30
push 0xd
pop eax
push 2
pop esi
mov ecx, ebx
mov dword [ebp - 0x4c], 0x2d036101
push 4
mov word [ebp - 0x48], 0xc001
mov byte [ebp - 0x46], bl
mov word [ebp - 0x45], 0x229
mov byte [ebp - 0x43], 3
mov word [ebp - 0x76], ax
mov dword [ebp - 0x54], ecx
pop edi
cmp esi, edi
jne 0x10023baf
push 2
pop ecx
mov dword [ebp - 0x54], ecx
mov esi, edi
jmp 0x10023bf2
movzx edx, byte [ebp + esi - 0x4b]
mov eax, esi
sub eax, ecx
push 0x5917
movzx eax, byte [ebp + eax - 0x4e]
movzx eax, word [ebp + eax*2 - 0x78]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x4c]
mov word [ebp + eax*2 - 0x78], cx
lea eax, [ebp - 0x54]
push eax
push 0x2548
mov ecx, 0x7b16
call fcn.10023f76
mov ecx, dword [ebp - 0x54]
add esp, 0xc
add esi, 2
cmp esi, 0xa
jb 0x10023ba1
xor eax, eax
cmp dword [ebp - 0x20], 0x4699
mov word [ebp - 0x70], ax
jge 0x10023c14
push str.oppdjr_vpvdhww_yasqylqa_pumjqypub_hcglhpdpg_feegy
call fcn.100430bc
pop ecx
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x104]
xor eax, eax
mov dword [ebp - 0xf0], 7
mov word [ebp - 0x104], ax
lea eax, [ebp - 0x78]
push eax
mov dword [ebp - 0xf4], ebx
call fcn.100057a8
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x68], 0x666a756a
mov dword [ebp - 0x60], 0xffffffff
mov dword [ebp - 0x6c], 0x9ba095a9
mov dword [ebp - 0x8c], ebx
push edi
call fcn.10001ba5
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10023c90
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10023c7d
lea eax, [ebp - 0x6c]
push eax
push ecx
lea eax, [ebp - 0x68]
push eax
sub esp, 0xc
lea ecx, [ebp - 0x60]
call fcn.10023de4
push 0x6c16
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x60]
push eax
push ebx
lea eax, [ebp - 0x68]
push eax
push 1
push 0x2b1e
push 1
lea eax, [ebp - 0x88]
push 0x2765
push eax
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x8c]
call fcn.10025a2c
add esp, 0x40
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xb8]
call fcn.10001c28
xor eax, eax
lea edi, [ebp - 0x78]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x18], ebx
jmp 0x10023d12
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xec], 0xe0bc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x10023d01
push 0x9bb
push 0x3015
xor dl, dl
mov ecx, 0x1e4d
call fcn.10023fed
pop ecx
pop ecx
push 0x416c
push 1
push 0x205e
push ecx
push ecx
lea edx, [ebp - 0x26]
mov byte [ebp - 0x26], bl
mov ecx, 0x76e2
call fcn.10022443
mov eax, dword [ebp - 0x80]
add esp, 0x14
mov ecx, dword [ebp - 0x84]
sub eax, ecx
cdq
push 0x18
pop esi
idiv esi
mov edi, eax
test edi, edi
je 0x10023dab
mov esi, ebx
lea eax, [ebp - 0x104]
lea edx, [esi + ecx]
push eax
lea ecx, [ebp - 0x12c]
call fcn.10021fef
pop ecx
mov ecx, dword [ebp - 0x84]
push eax
lea ecx, [esi + ecx]
call fcn.10021fca
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.10005bc7
lea esi, [esi + 0x18]
dec edi
je 0x10023dab
mov ecx, dword [ebp - 0x84]
jmp 0x10023d6a
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x84]
push eax
call fcn.100265e9
push ebx
push 1
lea ecx, [ebp - 0x104]
call fcn.10005bc7
lea ecx, [ebp - 0x84]
call fcn.10026a52
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret