Function at 0x4522a3
Capabilities:
Contain obfuscated stackstrings
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x474
lea eax, [ebp - 0x80]
push eax
call fcn.0055ebb0
push 0x400
push 0
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp + 8]
cmp dword [edx + 0x2acc], 0
je 0x452307
mov eax, dword [ebp + 8]
add eax, 0x7b8
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x7b7
push ecx
mov edx, dword [ebp + 8]
add edx, 0x7b6
push edx
push 0x5a834c
mov eax, dword [ebp + 8]
add eax, 0x2cb4
push eax
call fcn.0054c6fc
add esp, 0x14
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x7b6]
mov byte [ecx + 0x1a0], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x7b7]
mov byte [ecx + 0x1a1], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x7b8]
mov byte [ecx + 0x1a2], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x7b9]
mov byte [ecx + 0x1a3], al
lea ecx, [ebp - 0x80]
call fcn.00406c70
sub eax, 0x7c7
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x1a4], al
lea ecx, [ebp - 0x80]
call fcn.00406c90
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x1a5], al
lea ecx, [ebp - 0x80]
call fcn.00406cb0
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x1a6], al
mov edx, dword [ebp + 8]
cmp dword [edx + 0x2f778], 0
je 0x4523b7
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + 0x2f77c]
mov byte [eax + 0x1a9], dl
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + 0x2f788]
mov byte [eax + 0x1aa], dl
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004f8f44
add esp, 8
mov edx, dword [ebp + 8]
cmp dword [edx + 0x4764], 0
jl 0x452568
mov eax, dword [ebp + 8]
cmp dword [eax + 0x4764], 7
jg 0x452568
mov dword [ebp - 0xe0], 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2f778], 0
jne 0x45240d
mov edx, dword [ebp + 8]
cmp dword [edx + 0x2ef74], 0
je 0x452536
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + 0x2ef68]
mov byte [eax + 0x184], dl
mov dword [ebp - 0xe4], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2ef74], 0
je 0x452447
mov ecx, dword [ebp + 8]
push ecx
call fcn.00452052
add esp, 4
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0xff
jne 0x45245a
xor eax, eax
jmp 0x45360b
mov edx, dword [ebp + 8]
cmp dword [edx + 0x16c], 2
jne 0x452501
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + 0x198]
mov byte [eax + 0x184], dl
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2ef74], 0
je 0x4524ff
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2f778], 0
je 0x4524f5
cmp dword [ebp - 0xe4], 0
je 0x4524c6
mov edx, dword [ebp - 0xe4]
and edx, 0xff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x184], dl
mov ecx, dword [ebp - 0xe4]
sar ecx, 8
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x19b], cl
jmp 0x4524f3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x198]
and ecx, 0xff
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x184], cl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x198]
sar ecx, 8
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x19b], cl
jmp 0x4524ff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x184], 0
jmp 0x452534
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2ef74], 0
je 0x452534
mov edx, dword [ebp - 0xe4]
and edx, 0xff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x184], dl
mov ecx, dword [ebp - 0xe4]
sar ecx, 8
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x19b], cl
jmp 0x452566
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + 0x2ef68]
mov byte [eax + 0x184], dl
mov eax, dword [ebp + 8]
cmp dword [eax + 0x16c], 2
jne 0x452566
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x198]
mov byte [ecx + 0x184], al
jmp 0x45257a
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x2ef68]
mov byte [ecx + 0x184], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x4458]
mov byte [ecx + 0x180], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x4459]
mov byte [ecx + 0x181], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x445a]
mov byte [ecx + 0x182], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x445b]
mov byte [ecx + 0x183], al
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x4764], 0
jl 0x4527d9
mov edx, dword [ebp + 8]
cmp dword [edx + 0x4764], 7
jg 0x4527d9
mov eax, dword [ebp + 0xc]
mov cl, byte [eax + 0x185]
or cl, 0x20
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x185], cl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2aec]
mov dword [ebp - 0x468], ecx
cmp dword [ebp - 0x468], 3
ja case.default.0x452615
mov edx, dword [ebp - 0x468]
jmp dword [edx*4 + 0x45360f]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x19d], 0
jmp 0x452656
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x19d], 1
jmp 0x452656
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x19d], 2
jmp 0x452656
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x19d], 3
jmp 0x452656
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x19d], 3
mov edx, dword [ebp + 8]
push edx
call fcn.00449bab
add esp, 4
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 0x7af]
cmp ecx, 0xad
je 0x452698
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x7af]
cmp eax, 0x2c
je 0x452698
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 0x7af]
cmp edx, 0x89
jne 0x4526a2
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x19d], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x4764], 1
je 0x4526ba
mov edx, dword [ebp + 8]
cmp dword [edx + 0x4764], 3
jg 0x4526c4
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x19d], 1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x2ae0]
mov byte [ecx + 0x19e], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x2ae4]
mov byte [ecx + 0x19f], al
mov dword [ebp - 0xec], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x35ec], 0
jne 0x45270a
mov dword [ebp - 0xe8], 0x3f
jmp 0x452714
mov dword [ebp - 0xe8], 0x20
mov edx, dword [ebp + 8]
cmp dword [edx + 0x2ef74], 0
je 0x452730
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2f778], 0
jne 0x4527d9
mov dword [ebp - 0xf0], 0
push 0x10
push 0
lea ecx, [ebp - 0x300]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov byte [ebp - 0x300], 0xf0
mov byte [ebp - 0x2ff], 0x20
mov byte [ebp - 0x2f5], 1
push 0x200
lea edx, [ebp - 0x2f0]
push edx
lea eax, [ebp - 0x300]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004da8ef
add esp, 0x10
mov dword [ebp - 0x304], eax
mov edx, dword [ebp - 0x2dc]
and edx, 0xff
shl edx, 0x18
mov eax, dword [ebp - 0x2db]
and eax, 0xff
shl eax, 0x10
add edx, eax
mov ecx, dword [ebp - 0x2da]
and ecx, 0xff
shl ecx, 8
add edx, ecx
mov eax, dword [ebp - 0x2d9]
and eax, 0xff
add edx, eax
mov dword [ebp - 0xf0], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xf0]
mov dword [ecx + 0x96c], edx
mov eax, dword [ebp + 8]
add eax, 0x29644
push eax
call fcn.005353c2
add esp, 4
and eax, 0xff
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x187], al
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x190], 0x8a
mov eax, dword [ebp + 8]
add eax, 0x29648
push eax
call fcn.005353c2
add esp, 4
and eax, 0xff
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x191], al
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x28a2e]
mov byte [edx + 0x198], cl
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x445c]
mov byte [edx + 0x199], cl
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x445d]
mov byte [edx + 0x19a], cl
mov edx, dword [ebp + 8]
cmp dword [edx + 0x2ac4], 0x20
jne 0x45286d
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x18d], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2ac4], 8
jne 0x452883
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x18d], 2
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3658], 0
je 0x4528b1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x365c], 0
je 0x4528b1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x3664], 0
je 0x4528b1
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x18d], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2ac4], 0x80
jne 0x4528d6
mov edx, dword [ebp + 8]
cmp dword [edx + 0x3650], 0
je 0x4528d6
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x18d], 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x3648], 0
je 0x4528f6
mov edx, dword [ebp + 0xc]
mov al, byte [edx + 0x18d]
or al, 0x80
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x18d], al
mov byte [ebp - 0x94], 0x12
mov byte [ebp - 0x93], 1
mov byte [ebp - 0x92], 0
mov byte [ebp - 0x91], 2
mov byte [ebp - 0x90], 0
mov byte [ebp - 0x8f], 0
mov byte [ebp - 0x8e], 0
mov byte [ebp - 0x8d], 0x40
mov byte [ebp - 0x8c], 0xc
mov byte [ebp - 0x8b], 9
mov byte [ebp - 0x8a], 0
mov byte [ebp - 0x89], 0x10
mov byte [ebp - 0x88], 0
mov byte [ebp - 0x87], 1
mov byte [ebp - 0x86], 1
mov byte [ebp - 0x85], 2
mov byte [ebp - 0x84], 3
mov byte [ebp - 0x83], 1
mov byte [ebp - 0xdc], 0x12
mov byte [ebp - 0xdb], 1
mov byte [ebp - 0xda], 0
mov byte [ebp - 0xd9], 2
mov byte [ebp - 0xd8], 0
mov byte [ebp - 0xd7], 0
mov byte [ebp - 0xd6], 0
mov byte [ebp - 0xd5], 0x40
mov byte [ebp - 0xd4], 0xc
mov byte [ebp - 0xd3], 9
mov byte [ebp - 0xd2], 0
mov byte [ebp - 0xd1], 0x10
mov byte [ebp - 0xd0], 0
mov byte [ebp - 0xcf], 1
mov byte [ebp - 0xce], 1
mov byte [ebp - 0xcd], 2
mov byte [ebp - 0xcc], 0
mov byte [ebp - 0xcb], 1
mov byte [ebp - 0x4c], 4
mov byte [ebp - 0x4b], 3
mov byte [ebp - 0x4a], 9
mov byte [ebp - 0x49], 4
mov edx, dword [ebp + 8]
movsx eax, byte [edx + 0x40c4]
test eax, eax
jne 0x452a27
push 0x12
lea ecx, [ebp - 0xdc]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.0054c980
add esp, 0xc
jmp 0x452a3c
push 0x12
lea eax, [ebp - 0x94]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054c980
add esp, 0xc
push 4
lea edx, [ebp - 0x4c]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x12
push eax
call fcn.0054c980
add esp, 0xc
mov ecx, dword [ebp + 8]
add ecx, 0x291e4
push ecx
call fcn.005353c2
add esp, 4
and eax, 0xff
mov edx, dword [ebp + 0xc]
mov byte [edx + 8], al
mov eax, dword [ebp + 8]
add eax, 0x291e4
push eax
call fcn.005353c2
add esp, 4
sar eax, 8
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 9], al
mov edx, dword [ebp + 8]
add edx, 0x291ea
push edx
call fcn.005353c2
add esp, 4
and eax, 0xff
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xa], al
mov edx, dword [ebp + 8]
add edx, 0x291ea
push edx
call fcn.005353c2
add esp, 4
sar eax, 8
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xb], al
mov edx, dword [ebp + 8]
add edx, 0x291f0
push edx
call fcn.005353c2
add esp, 4
and eax, 0xff
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xc], al
mov edx, dword [ebp + 8]
add edx, 0x291f0
push edx
call fcn.005353c2
add esp, 4
sar eax, 8
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xd], al
mov edx, dword [ebp + 8]
add edx, 0x291f6
push edx
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
lea ecx, [eax + eax + 2]
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x16], cl
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x17], 3
mov dword [ebp - 0xa4], 0
jmp 0x452b42
mov ecx, dword [ebp - 0xa4]
add ecx, 1
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0xa4]
cmp edx, dword [ebp - 0xa0]
jge 0x452b84
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xa4]
movsx ecx, byte [eax + 0x291f6]
test ecx, ecx
jne 0x452b66
jmp 0x452b84
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp + 0xc]
mov dl, byte [edx + 0x291f6]
mov byte [ecx + eax*2 + 0x18], dl
jmp 0x452b33
mov eax, dword [ebp + 8]
add eax, 0x2921a
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
lea edx, [ecx + ecx + 2]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x54], dl
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x55], 3
mov dword [ebp - 0xa4], 0
jmp 0x452bcd
mov edx, dword [ebp - 0xa4]
add edx, 1
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0xa0]
jge 0x452c0f
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xa4]
movsx edx, byte [ecx + 0x2921a]
test edx, edx
jne 0x452bf1
jmp 0x452c0f
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp + 0xc]
mov al, byte [eax + 0x2921a]
mov byte [edx + ecx*2 + 0x56], al
jmp 0x452bbe
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx + 0x40c4]
test edx, edx
je 0x452ccb
mov eax, dword [ebp + 8]
add eax, 0x40c4
push eax
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
lea edx, [ecx + ecx + 2]
cmp edx, 0x3c
jle 0x452c51
mov dword [ebp - 0xa0], 0xa
mov eax, dword [ebp - 0xa0]
lea ecx, [eax + eax + 2]
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x92], cl
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x93], 3
mov dword [ebp - 0xa4], 0
jmp 0x452c89
mov ecx, dword [ebp - 0xa4]
add ecx, 1
mov dword [ebp - 0xa4], ecx
cmp dword [ebp - 0xa4], 0x1e
jge 0x452ccb
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0xa4]
movsx eax, byte [edx + 0x40c4]
test eax, eax
je 0x452cc7
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp + 0xc]
mov cl, byte [ecx + 0x40c4]
mov byte [eax + edx*2 + 0x94], cl
jmp 0x452cc9
jmp 0x452ccb
jmp 0x452c7a
mov byte [ebp - 0x48], 9
mov byte [ebp - 0x47], 2
mov byte [ebp - 0x46], 0x20
mov byte [ebp - 0x45], 0
mov byte [ebp - 0x44], 1
mov byte [ebp - 0x43], 1
mov byte [ebp - 0x42], 0
mov byte [ebp - 0x41], 0x80
mov byte [ebp - 0x40], 0x32
mov byte [ebp - 0x3f], 9
mov byte [ebp - 0x3e], 4
mov byte [ebp - 0x3d], 0
mov byte [ebp - 0x3c], 0
mov byte [ebp - 0x3b], 2
mov byte [ebp - 0x3a], 8
mov byte [ebp - 0x39], 6
mov byte [ebp - 0x38], 0x50
mov byte [ebp - 0x37], 0
mov byte [ebp - 0x36], 7
mov byte [ebp - 0x35], 5
mov byte [ebp - 0x34], 0x81
mov byte [ebp - 0x33], 2
mov byte [ebp - 0x32], 0
mov byte [ebp - 0x31], 2
mov byte [ebp - 0x30], 0xff
mov byte [ebp - 0x2f], 7
mov byte [ebp - 0x2e], 5
mov byte [ebp - 0x2d], 2
mov byte [ebp - 0x2c], 2
mov byte [ebp - 0x2b], 0
mov byte [ebp - 0x2a], 2
mov byte [ebp - 0x29], 0xff
push 0x20
lea edx, [ebp - 0x48]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0xd0
push eax
call fcn.0054c980
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2942c]
mov dword [ebp - 0x46c], edx
cmp dword [ebp - 0x46c], 4
ja case.default.0x452d80
mov eax, dword [ebp - 0x46c]
jmp dword [eax*4 + 0x45361f]
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xd8], 0x32
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x126], 0x32
jmp 0x452e09
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xd8], 0x64
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x126], 0x64
jmp 0x452e09
mov edx, dword [ebp + 0xc]
mov byte [edx + 0xd8], 0x96
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x126], 0x96
jmp 0x452e09
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xd8], 0xc8
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x126], 0xc8
jmp 0x452e09
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xd8], 0xfa
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x126], 0xfa
jmp 0x452e09
mov edx, dword [ebp + 0xc]
mov byte [edx + 0xd8], 0x32
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x126], 0x32
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2b38], 0
je 0x452e21
mov edx, dword [ebp + 0xc]
mov byte [edx + 0xdf], 1
jmp 0x452e2b
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xdf], 6
mov byte [ebp - 0x7c], 0
mov byte [ebp - 0x7b], 0x80
mov byte [ebp - 0x7a], 0
mov byte [ebp - 0x79], 1
mov byte [ebp - 0x78], 0x1f
mov byte [ebp - 0x77], 0x73
mov byte [ebp - 0x76], 0x6d
mov byte [ebp - 0x75], 0x69
mov byte [ebp - 0x74], 0x20
mov byte [ebp - 0x73], 0x20
mov byte [ebp - 0x72], 0x20
mov byte [ebp - 0x71], 0x20
mov byte [ebp - 0x70], 0x20
mov byte [ebp - 0x6f], 0x20
mov byte [ebp - 0x6e], 0x20
mov byte [ebp - 0x6d], 0x20
mov byte [ebp - 0x6c], 0x20
mov byte [ebp - 0x6b], 0x20
mov byte [ebp - 0x6a], 0x20
mov byte [ebp - 0x69], 0x20
mov byte [ebp - 0x68], 0x20
mov byte [ebp - 0x67], 0x20
mov byte [ebp - 0x66], 0x20
mov byte [ebp - 0x65], 0x20
mov byte [ebp - 0x64], 0x20
mov byte [ebp - 0x63], 0x20
mov byte [ebp - 0x62], 0x20
mov byte [ebp - 0x61], 0x20
mov byte [ebp - 0x60], 0x20
mov byte [ebp - 0x5f], 0x20
mov byte [ebp - 0x5e], 0x20
mov byte [ebp - 0x5d], 0x20
mov byte [ebp - 0x5c], 0x20
mov byte [ebp - 0x5b], 0x20
mov byte [ebp - 0x5a], 0x20
mov byte [ebp - 0x59], 0x20
push 0x24
lea ecx, [ebp - 0x7c]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0xf0
push edx
call fcn.0054c980
add esp, 0xc
mov dword [ebp - 0xa4], 0
jmp 0x452eee
mov eax, dword [ebp - 0xa4]
add eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 8
jge 0x452f2d
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xa4]
movsx edx, byte [ecx + 0x292cc]
test edx, edx
jne 0x452f0d
jmp 0x452f2d
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xa4]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xa4]
mov dl, byte [ecx + 0x292cc]
mov byte [eax + 0xf8], dl
jmp 0x452edf
mov dword [ebp - 0xa4], 0
jmp 0x452f48
mov eax, dword [ebp - 0xa4]
add eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0x10
jge 0x452f87
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xa4]
movsx edx, byte [ecx + 0x292dc]
test edx, edx
jne 0x452f67
jmp 0x452f87
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xa4]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xa4]
mov dl, byte [ecx + 0x292dc]
mov byte [eax + 0x100], dl
jmp 0x452f39
mov dword [ebp - 0xa4], 0
jmp 0x452fa2
mov eax, dword [ebp - 0xa4]
add eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 4
jge 0x452fe1
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xa4]
movsx edx, byte [ecx + 0x291f0]
test edx, edx
jne 0x452fc1
jmp 0x452fe1
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xa4]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xa4]
mov dl, byte [ecx + 0x291f0]
mov byte [eax + 0x110], dl
jmp 0x452f93
mov byte [ebp - 0x28], 0
mov byte [ebp - 0x27], 0x80
mov byte [ebp - 0x26], 2
mov byte [ebp - 0x25], 0
mov byte [ebp - 0x24], 0x33
mov byte [ebp - 0x23], 0
mov byte [ebp - 0x22], 0
mov byte [ebp - 0x21], 0
mov byte [ebp - 0x20], 0x20
mov byte [ebp - 0x1f], 0x20
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x20
mov byte [ebp - 0x1c], 0x20
mov byte [ebp - 0x1b], 0x20
mov byte [ebp - 0x1a], 0x20
mov byte [ebp - 0x19], 0x20
mov byte [ebp - 0x18], 0x55
mov byte [ebp - 0x17], 0x53
mov byte [ebp - 0x16], 0x42
mov byte [ebp - 0x15], 0x20
mov byte [ebp - 0x14], 0x43
mov byte [ebp - 0x13], 0x59
mov byte [ebp - 0x12], 0x42
mov byte [ebp - 0x11], 0x45
mov byte [ebp - 0x10], 0x52
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x44
mov byte [ebp - 0xd], 0x49
mov byte [ebp - 0xc], 0x53
mov byte [ebp - 0xb], 0x4b
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x20
mov byte [ebp - 8], 0x20
mov byte [ebp - 7], 0x20
mov byte [ebp - 6], 0x20
mov byte [ebp - 5], 0x20
mov byte [ebp - 4], 0x20
mov byte [ebp - 3], 0x20
push 0x26
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 0x13e
push ecx
call fcn.0054c980
add esp, 0xc
mov byte [ebp - 0x58], 0xa
mov byte [ebp - 0x57], 6
mov byte [ebp - 0x56], 0
mov byte [ebp - 0x55], 2
mov byte [ebp - 0x54], 0
mov byte [ebp - 0x53], 0
mov byte [ebp - 0x52], 0
mov byte [ebp - 0x51], 0x40
mov byte [ebp - 0x50], 1
mov byte [ebp - 0x4f], 0
mov byte [ebp - 0xc8], 9
mov byte [ebp - 0xc7], 7
mov byte [ebp - 0xc6], 0x20
mov byte [ebp - 0xc5], 0
mov byte [ebp - 0xc4], 1
mov byte [ebp - 0xc3], 1
mov byte [ebp - 0xc2], 0
mov byte [ebp - 0xc1], 0x80
mov byte [ebp - 0xc0], 0x32
mov byte [ebp - 0xbf], 9
mov byte [ebp - 0xbe], 4
mov byte [ebp - 0xbd], 0
mov byte [ebp - 0xbc], 0
mov byte [ebp - 0xbb], 2
mov byte [ebp - 0xba], 8
mov byte [ebp - 0xb9], 6
mov byte [ebp - 0xb8], 0x50
mov byte [ebp - 0xb7], 0
mov byte [ebp - 0xb6], 7
mov byte [ebp - 0xb5], 5
mov byte [ebp - 0xb4], 0x81
mov byte [ebp - 0xb3], 2
mov byte [ebp - 0xb2], 0x40
mov byte [ebp - 0xb1], 0
mov byte [ebp - 0xb0], 0xff
mov byte [ebp - 0xaf], 7
mov byte [ebp - 0xae], 5
mov byte [ebp - 0xad], 2
mov byte [ebp - 0xac], 2
mov byte [ebp - 0xab], 0x40
mov byte [ebp - 0xaa], 0
mov byte [ebp - 0xa9], 0xff
push 0xa
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x114
push eax
call fcn.0054c980
add esp, 0xc
push 0x20
lea ecx, [ebp - 0xc8]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x11e
push edx
call fcn.0054c980
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x35ec], 0
jne 0x4531f5
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xf1], 0
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x13f], 0
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x140], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2b3c], 0
je 0x453313
push pe_nt_image_headers32
push 0
lea edx, [ebp - 0x404]
push edx
call fcn.0054bfb0
add esp, 0xc
lea eax, [ebp - 0x404]
push eax
call fcn.0053534c
add esp, 4
push 0x5a8358
lea ecx, [ebp - 0x404]
push ecx
call fcn.0054bed0
add esp, 8
push 0x60
push 0
lea edx, [ebp - 0x464]
push edx
call fcn.0054bfb0
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x154]
push ecx
push 0x5a8368
lea edx, [ebp - 0x464]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x154]
push ecx
push 0x5a8374
lea edx, [ebp - 0x444]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x154]
push ecx
push 0x5a8380
lea edx, [ebp - 0x424]
push edx
call fcn.0054c45b
add esp, 0xc
lea eax, [ebp - 0x404]
push eax
push 0
lea ecx, [ebp - 0x464]
push ecx
push 0x5a8390
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x9c], eax
lea edx, [ebp - 0x404]
push edx
push 0
lea eax, [ebp - 0x444]
push eax
push 0x5a8398
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0xa8], eax
lea ecx, [ebp - 0x404]
push ecx
push 0
lea edx, [ebp - 0x424]
push edx
push 0x5a83a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x98], eax
jmp 0x453515
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x154]
mov dword [ebp - 0x470], ecx
cmp dword [ebp - 0x470], 0x200
jg 0x453372
cmp dword [ebp - 0x470], 0x200
je 0x453454
mov edx, dword [ebp - 0x470]
sub edx, 0x20
mov dword [ebp - 0x470], edx
cmp dword [ebp - 0x470], 0xe0
ja case.0x45336b.4
mov ecx, dword [ebp - 0x470]
xor eax, eax
mov al, byte [ecx + 0x453647]
jmp dword [eax*4 + 0x453633]
cmp dword [ebp - 0x470], 0x1000
jg 0x4533b3
cmp dword [ebp - 0x470], 0x1000
je 0x4534b7
cmp dword [ebp - 0x470], 0x400
je 0x453477
cmp dword [ebp - 0x470], 0x800
je 0x453497
jmp case.0x45336b.4
cmp dword [ebp - 0x470], 0x2000
je 0x4534d7
jmp case.0x45336b.4
mov dword [ebp - 0x9c], 2
mov dword [ebp - 0xa8], 0x20
mov dword [ebp - 0x98], 0x3d8
jmp 0x453515
mov dword [ebp - 0x9c], 4
mov dword [ebp - 0xa8], 0x20
mov dword [ebp - 0x98], 0x3d8
jmp 0x453515
mov dword [ebp - 0x9c], 8
mov dword [ebp - 0xa8], 0x20
mov dword [ebp - 0x98], 0x3d8
jmp 0x453515
mov dword [ebp - 0x9c], 0x10
mov dword [ebp - 0xa8], 0x20
mov dword [ebp - 0x98], 0x3d8
jmp 0x453515
mov dword [ebp - 0x9c], 0x10
mov dword [ebp - 0xa8], 0x3f
mov dword [ebp - 0x98], 0x3d8
jmp 0x453515
mov dword [ebp - 0x9c], 0x10
mov dword [ebp - 0xa8], 0x3f
mov dword [ebp - 0x98], 0x7b0
jmp 0x453515
mov dword [ebp - 0x9c], 0x10
mov dword [ebp - 0xa8], 0x3f
mov dword [ebp - 0x98], 0xf60
jmp 0x453515
mov dword [ebp - 0x9c], 0x10
mov dword [ebp - 0xa8], 0x3f
mov dword [ebp - 0x98], 0x1ec0
jmp 0x453515
mov dword [ebp - 0x9c], 0x10
mov dword [ebp - 0xa8], 0x3f
mov dword [ebp - 0x98], 0x3d80
jmp 0x453515
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x98], 0
mov edx, dword [ebp + 0xc]
mov al, byte [ebp - 0x9c]
mov byte [edx + 0x188], al
mov ecx, dword [ebp + 0xc]
mov dl, byte [ebp - 0xa8]
mov byte [ecx + 0x189], dl
mov eax, dword [ebp - 0x98]
sar eax, 8
and eax, 0xff
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x18a], al
mov edx, dword [ebp - 0x98]
and edx, 0xff
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x18b], dl
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2942c]
mov dword [ebp - 0x474], edx
cmp dword [ebp - 0x474], 4
ja case.default.0x45357d
mov eax, dword [ebp - 0x474]
jmp dword [eax*4 + 0x453728]
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xd8], 0x32
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x126], 0x32
jmp 0x453606
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xd8], 0x64
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x126], 0x64
jmp 0x453606
mov edx, dword [ebp + 0xc]
mov byte [edx + 0xd8], 0x96
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x126], 0x96
jmp 0x453606
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0xd8], 0xc8
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x126], 0xc8
jmp 0x453606
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xd8], 0xfa
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x126], 0xfa
jmp 0x453606
mov edx, dword [ebp + 0xc]
mov byte [edx + 0xd8], 0x32
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x126], 0x32
mov eax, 1
mov esp, ebp
pop ebp
ret