Function at 0x457600
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9a4
mov eax, dword [0x523034]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
push edi
lea edi, [ebx + 8]
mov dword [ebp - 0x988], ebx
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 0x10
jb 0x457639
mov eax, dword [edi]
jmp 0x45763b
mov eax, edi
mov byte [eax], 0
lea eax, [ebx + 0x20]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x457657
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0x38]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x457673
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0x50]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x45768f
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0x68]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x4576ab
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0x80]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x4576ca
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0x98]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x4576e9
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0xb0]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x457708
mov eax, dword [eax]
lea esi, [ebx + 0xc8]
mov byte [eax], 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 0x10
jb 0x457729
mov eax, dword [esi]
jmp 0x45772b
mov eax, esi
mov byte [eax], 0
lea eax, [ebx + 0xe4]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x45774a
mov eax, dword [eax]
mov byte [eax], 0
mov dword [ebx + 0xfc], 0
mov dword [ebx + 0x100], 0
call fcn.0045c150
mov dword [ebx + 0xfc], eax
lea eax, [ebx + 0x208]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x457788
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0x220]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x4577a7
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0x23c]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x4577c6
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0x260]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x4577e5
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [ebx + 0x280]
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x457804
mov eax, dword [eax]
mov byte [eax], 0
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 0x10
jb 0x457816
mov esi, dword [esi]
movaps xmm0, xmmword [str.yWV_nV5]
mov edx, 0x5345bc
mov byte [esi], 0
cmp dword [0x5345d0], 0x10
movups xmmword [ebp - 0x608], xmm0
cmovae edx, dword [0x5345bc]
xor ecx, ecx
mov dword [ebp - 0x5f8], 0x1a170c18
mov dword [ebp - 0x5f4], 0x570b1c11
mov dword [ebp - 0x5f0], 0xd0b18
mov byte [ebp - 0x5ec], 0
mov al, byte [ebp - 0x608]
xor byte [ebp + ecx - 0x607], al
inc ecx
cmp ecx, 0x1b
jb 0x457861
push edx
sub esp, 0x18
mov byte [ebp - 0x5ec], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x457899
mov eax, dword [edx]
jmp 0x45789b
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x607], 0
jne 0x4578ab
xor ecx, ecx
jmp 0x4578bd
lea ecx, [ebp - 0x607]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4578b4
sub ecx, esi
push ecx
lea eax, [ebp - 0x607]
mov ecx, edx
push eax
call fcn.004466b0
lea eax, [ebp - 0x654]
push eax
call fcn.0045a3f0
add esp, 0x20
mov word [ebp - 0x980], 0x41
cmp dword [ebp - 0x640], 0x10
lea esi, [ebp - 0x654]
mov ch, 0x2a
mov byte [ebp - 0x52e], 0
cmovae esi, dword [ebp - 0x654]
mov al, 0x7a
xor al, ch
mov byte [ebp - 0x534], ch
mov byte [ebp - 0x533], al
mov ah, 0x46
xor ah, ch
mov byte [ebp - 0x536], 0
mov byte [ebp - 0x52f], ah
mov cl, 0x4b
xor cl, ch
mov byte [ebp - 0x97f], 0
mov dl, 0x44
mov byte [ebp - 0x532], cl
xor dl, ch
mov byte [ebp - 0x52e], 0
mov bl, 0x4f
mov byte [ebp - 0x531], dl
xor bl, ch
mov byte [ebp - 0x536], 0
mov ch, 0x6f
mov byte [ebp - 0x530], bl
push esi
mov al, 0x23
mov byte [ebp - 0x53c], ch
xor al, ch
mov ah, 0x1c
xor ah, ch
mov byte [ebp - 0x53b], al
mov byte [ebp - 0x537], ah
mov cl, 6
push 0x104
lea eax, [ebp - 0x320]
mov dl, 1
push eax
lea eax, [ebp - 0x97f]
mov bl, 4
push eax
lea eax, [ebp - 0x533]
xor cl, ch
push eax
lea eax, [ebp - 0x53b]
mov byte [ebp - 0x53a], cl
xor dl, ch
xor bl, ch
push eax
mov byte [ebp - 0x539], dl
mov byte [ebp - 0x538], bl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp - 0x320], 0
mov dword [ebp - 0x658], 0xf
mov dword [ebp - 0x65c], 0
mov byte [ebp - 0x66c], 0
jne 0x4579df
xor ecx, ecx
jmp 0x4579f1
lea ecx, [ebp - 0x320]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4579e8
sub ecx, edx
push ecx
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp - 0x66c]
call fcn.004466b0
lea eax, [ebp - 0x66c]
cmp edi, eax
je 0x457a4c
mov eax, dword [edi + 0x14]
cmp eax, 0x10
jb 0x457a21
inc eax
mov ecx, edi
push eax
push dword [edi]
call fcn.00446440
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
cmp dword [edi + 0x14], 0x10
jb 0x457a39
mov eax, dword [edi]
jmp 0x457a3b
mov eax, edi
mov byte [eax], 0
mov ecx, edi
lea eax, [ebp - 0x66c]
push eax
call fcn.004461f0
mov eax, dword [ebp - 0x658]
cmp eax, 0x10
jb 0x457a6a
inc eax
lea ecx, [ebp - 0x66c]
push eax
push dword [ebp - 0x66c]
call fcn.00446440
cmp dword [ebp - 0x640], 0x10
lea esi, [ebp - 0x654]
mov ch, 0x27
mov word [ebp - 0x97c], 0x40
cmovae esi, dword [ebp - 0x654]
mov al, 0x61
xor al, ch
mov byte [ebp - 0x544], ch
mov byte [ebp - 0x543], al
mov ah, 0x4a
xor ah, ch
mov byte [ebp - 0x53e], 0
mov byte [ebp - 0x53f], ah
mov cl, 0x48
xor cl, ch
mov byte [ebp - 0x546], 0
mov dl, 0x55
mov byte [ebp - 0x542], cl
xor dl, ch
mov dword [ebp - 0x658], 0xf
mov bl, 0x52
mov byte [ebp - 0x541], dl
xor bl, ch
mov dword [ebp - 0x65c], 0
mov ch, 0x1f
mov byte [ebp - 0x540], bl
push esi
mov al, 0x53
mov byte [ebp - 0x66c], 0
xor al, ch
mov byte [ebp - 0x97b], 0
mov ah, 0x6c
mov byte [ebp - 0x54b], al
xor ah, ch
mov byte [ebp - 0x53e], 0
mov byte [ebp - 0x547], ah
mov cl, 0x76
push 0x104
lea eax, [ebp - 0x218]
mov byte [ebp - 0x54c], ch
push eax
lea eax, [ebp - 0x97b]
mov byte [ebp - 0x546], 0
push eax
lea eax, [ebp - 0x543]
mov dl, 0x71
push eax
mov bl, 0x74
lea eax, [ebp - 0x54b]
xor cl, ch
xor dl, ch
xor bl, ch
mov byte [ebp - 0x54a], cl
push eax
mov byte [ebp - 0x549], dl
mov byte [ebp - 0x548], bl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp - 0x218], 0
mov dword [ebp - 0x670], 0xf
mov dword [ebp - 0x674], 0
mov byte [ebp - 0x684], 0
jne 0x457b89
xor ecx, ecx
jmp 0x457b9b
lea ecx, [ebp - 0x218]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457b92
sub ecx, edx
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x684]
call fcn.004466b0
mov edi, dword [ebp - 0x988]
lea eax, [ebp - 0x684]
lea ebx, [edi + 0x20]
cmp ebx, eax
je 0x457bff
mov eax, dword [ebx + 0x14]
cmp eax, 0x10
jb 0x457bd4
inc eax
mov ecx, ebx
push eax
push dword [ebx]
call fcn.00446440
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], 0
cmp dword [ebx + 0x14], 0x10
jb 0x457bec
mov eax, dword [ebx]
jmp 0x457bee
mov eax, ebx
mov byte [eax], 0
mov ecx, ebx
lea eax, [ebp - 0x684]
push eax
call fcn.004461f0
mov eax, dword [ebp - 0x670]
cmp eax, 0x10
jb 0x457c1d
inc eax
lea ecx, [ebp - 0x684]
push eax
push dword [ebp - 0x684]
call fcn.00446440
cmp dword [ebp - 0x640], 0x10
lea esi, [ebp - 0x654]
mov byte [ebp - 0x4ac], 0x7e
mov al, 0x38
cmovae esi, dword [ebp - 0x654]
mov ch, 0x11
xor al, byte [ebp - 0x4ac]
mov dh, ch
mov byte [ebp - 0x4ab], al
mov ah, 0x1c
mov al, byte [ebp - 0x4ac]
mov cl, 0x1f
xor ah, al
mov word [ebp - 0x96c], 0x37
xor ch, al
mov byte [ebp - 0x4a7], ah
xor cl, al
mov byte [ebp - 0x4a6], ch
xor dh, al
mov byte [ebp - 0x4aa], cl
mov ch, 0x6f
mov byte [ebp - 0x4a3], 0
mov dl, 0x1d
mov byte [ebp - 0x54e], 0
xor dl, al
mov dword [ebp - 0x670], 0xf
mov bl, 0x1b
mov byte [ebp - 0x4a9], dl
xor bl, al
mov dword [ebp - 0x674], 0
mov bh, 0x15
mov byte [ebp - 0x4a8], bl
xor bh, al
mov byte [ebp - 0x684], 0
push esi
mov al, 0x23
mov byte [ebp - 0x96b], 0
xor al, ch
mov byte [ebp - 0x4a5], dh
mov ah, 0x1c
mov byte [ebp - 0x553], al
xor ah, ch
mov byte [ebp - 0x4a4], bh
mov byte [ebp - 0x54f], ah
mov cl, 6
push 0x104
lea eax, [ebp - 0x110]
mov byte [ebp - 0x4a3], 0
push eax
lea eax, [ebp - 0x96b]
mov byte [ebp - 0x554], ch
push eax
lea eax, [ebp - 0x4ab]
mov byte [ebp - 0x54e], 0
push eax
mov dl, 1
lea eax, [ebp - 0x553]
mov bl, 4
xor cl, ch
xor dl, ch
mov byte [ebp - 0x552], cl
xor bl, ch
mov byte [ebp - 0x551], dl
push eax
mov byte [ebp - 0x550], bl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp - 0x110], 0
mov dword [ebp - 0x688], 0xf
mov dword [ebp - 0x68c], 0
mov byte [ebp - 0x69c], 0
jne 0x457d63
xor ecx, ecx
jmp 0x457d79
lea ecx, [ebp - 0x110]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457d70
sub ecx, edx
push ecx
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x69c]
call fcn.004466b0
lea eax, [ebp - 0x69c]
lea ebx, [edi + 0x38]
cmp ebx, eax
je 0x457dd7
mov eax, dword [ebx + 0x14]
cmp eax, 0x10
jb 0x457dac
inc eax
mov ecx, ebx
push eax
push dword [ebx]
call fcn.00446440
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], 0
cmp dword [ebx + 0x14], 0x10
jb 0x457dc4
mov eax, dword [ebx]
jmp 0x457dc6
mov eax, ebx
mov byte [eax], 0
mov ecx, ebx
lea eax, [ebp - 0x69c]
push eax
call fcn.004461f0
mov eax, dword [ebp - 0x688]
cmp eax, 0x10
jb 0x457df5
inc eax
lea ecx, [ebp - 0x69c]
push eax
push dword [ebp - 0x69c]
call fcn.00446440
cmp dword [ebp - 0x640], 0x10
lea esi, [ebp - 0x654]
mov bh, 0x47
mov word [ebp - 0x978], 0x43
cmovae esi, dword [ebp - 0x654]
mov al, 3
xor al, bh
mov byte [ebp - 0x5e0], 0
mov byte [ebp - 0x5e7], al
mov ah, 0x28
xor ah, bh
mov byte [ebp - 0x556], 0
mov byte [ebp - 0x5e3], ah
mov ch, 0x35
xor ch, bh
mov dword [ebp - 0x688], 0xf
mov byte [ebp - 0x5e2], ch
mov al, 0x50
mov ch, 0x1c
mov dword [ebp - 0x68c], 0
xor al, ch
mov byte [ebp - 0x69c], 0
push esi
mov ah, 0x6f
mov byte [ebp - 0x55b], al
xor ah, ch
mov byte [ebp - 0x977], 0
mov byte [ebp - 0x557], ah
mov cl, 0x2e
push 0x104
lea eax, [ebp - 0x428]
mov byte [ebp - 0x5e8], bh
push eax
mov dl, 0x34
mov byte [ebp - 0x5e0], 0
xor cl, bh
mov byte [ebp - 0x55c], ch
xor dl, bh
mov byte [ebp - 0x5e6], cl
lea eax, [ebp - 0x977]
mov byte [ebp - 0x5e5], dl
push eax
mov bl, 0x24
mov byte [ebp - 0x556], 0
xor bl, bh
lea eax, [ebp - 0x5e7]
mov byte [ebp - 0x5e4], bl
mov dh, 0x23
push eax
mov cl, 0x75
lea eax, [ebp - 0x55b]
mov dl, 0x72
mov bl, 0x77
xor dh, bh
xor cl, ch
xor dl, ch
mov byte [ebp - 0x5e1], dh
xor bl, ch
mov byte [ebp - 0x55a], cl
push eax
mov byte [ebp - 0x559], dl
mov byte [ebp - 0x558], bl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp - 0x428], 0
mov dword [ebp - 0x6a0], 0xf
mov dword [ebp - 0x6a4], 0
mov byte [ebp - 0x6b4], 0
jne 0x457f28
xor ecx, ecx
jmp 0x457f3a
lea ecx, [ebp - 0x428]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457f31
sub ecx, edx
push ecx
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x6b4]
call fcn.004466b0
lea eax, [ebp - 0x6b4]
lea ebx, [edi + 0x50]
cmp ebx, eax
je 0x457f98
mov eax, dword [ebx + 0x14]
cmp eax, 0x10
jb 0x457f6d
inc eax
mov ecx, ebx
push eax
push dword [ebx]
call fcn.00446440
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], 0
cmp dword [ebx + 0x14], 0x10
jb 0x457f85
mov eax, dword [ebx]
jmp 0x457f87
mov eax, ebx
mov byte [eax], 0
mov ecx, ebx
lea eax, [ebp - 0x6b4]
push eax
call fcn.004461f0
mov eax, dword [ebp - 0x6a0]
cmp eax, 0x10
jb 0x457fb6
inc eax
lea ecx, [ebp - 0x6b4]
push eax
push dword [ebp - 0x6b4]
call fcn.00446440
push 0x38
mov dword [ebp - 0x6a0], 0xf
mov dword [ebp - 0x6a4], 0
mov byte [ebp - 0x6b4], 0
call fcn.004aa8dd
add esp, 4
lea ecx, [edi + 0xfc]
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [edi + 4], eax
mov dword [edi], 0
call fcn.0045c0a0
movaps xmm0, xmmword [str.g__b_t_t]
xor eax, eax
mov byte [edi + 0x258], 0
xor ecx, ecx
mov byte [edi + 0x298], 0
mov dword [edi + 0x278], 0
mov word [edi + 0xe0], 0
mov word [edi + 0x27c], ax
movups xmmword [ebp - 0x624], xmm0
mov dword [ebp - 0x614], 0x47021406
mov dword [ebp - 0x610], 0x130e0610
mov dword [ebp - 0x60c], 0x494949
nop dword [eax + eax]
mov al, byte [ebp - 0x624]
xor byte [ebp + ecx - 0x623], al
inc ecx
cmp ecx, 0x1a
jb 0x4580b0
cmp byte [ebp - 0x623], 0
mov byte [ebp - 0x609], 0
jne 0x4580d7
xor ecx, ecx
jmp 0x4580e9
lea ecx, [ebp - 0x623]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4580e0
sub ecx, edx
push ecx
lea eax, [ebp - 0x623]
push eax
lea ecx, [edi + 0x280]
call fcn.004466b0
push 0x64
call fcn.004aab9a
add esp, 4
mov dword [ebp - 0x998], eax
push 0x64
call fcn.004aab9a
add esp, 4
mov dword [ebp - 0x994], eax
push 0xa
call fcn.004aab9a
add esp, 4
mov dword [ebp - 0x98c], eax
push 0xa
call fcn.004aab9a
add esp, 4
mov dword [ebp - 0x990], eax
add edi, 0x104
push edi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov cl, 0x60
mov dword [ebp - 0x448], 0x5333c60
mov dword [ebp - 0x444], 0x12051612
xor eax, eax
mov dword [ebp - 0x440], 0x90e094e
mov byte [ebp - 0x43c], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x447], cl
inc eax
cmp eax, 0xb
jae 0x458195
mov cl, byte [ebp - 0x448]
jmp 0x458180
mov byte [ebp - 0x43c], 0
mov dword [ebp - 0x6b8], 0xf
mov dword [ebp - 0x6bc], 0
mov byte [ebp - 0x6cc], 0
cmp byte [edi], 0
jne 0x4581c0
xor ecx, ecx
jmp 0x4581ce
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4581c5
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x6cc]
call fcn.004466b0
cmp byte [ebp - 0x447], 0
jne 0x4581e8
xor ecx, ecx
jmp 0x4581fa
lea ecx, [ebp - 0x447]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4581f1
sub ecx, edx
push ecx
lea eax, [ebp - 0x447]
push eax
lea ecx, [ebp - 0x6cc]
call fcn.00445fc0
push eax
lea ecx, [ebp - 0x7d4]
call fcn.004459f0
cmp dword [ebp - 0x7c0], 0x10
lea esi, [ebp - 0x7d4]
mov bh, 0x7d
mov byte [ebp - 0x5d4], 0
cmovae esi, dword [ebp - 0x7d4]
mov cl, 0x53
mov bl, cl
mov byte [ebp - 0x48c], 0
mov ch, cl
mov byte [ebp - 0x595], 0
xor cl, bh
mov byte [ebp - 0x5dc], bh
mov al, 0x4d
mov byte [ebp - 0x5da], cl
mov ah, al
mov byte [ebp - 0x5d4], 0
mov dl, al
mov byte [ebp - 0x48c], 0
xor al, bh
mov byte [ebp - 0x595], 0
xor bl, bh
mov byte [ebp - 0x5db], al
mov dh, ah
mov byte [ebp - 0x5d8], bl
mov bl, 0x2e
xor ah, bh
mov cl, 0x7e
mov byte [ebp - 0x5d7], ah
xor cl, bl
mov byte [ebp - 0x490], bl
mov al, 0x67
mov byte [ebp - 0x48e], cl
xor al, bl
xor dl, bh
mov byte [ebp - 0x48f], al
xor dh, bh
push esi
mov cl, 0x57
mov byte [ebp - 0x5d9], dl
mov ah, cl
mov byte [ebp - 0x5d5], dh
mov dh, 0x32
mov al, 0x61
xor al, dh
mov byte [ebp - 0x59c], dh
xor ah, dh
mov byte [ebp - 0x59b], al
push 0x64
push dword [ebp - 0x998]
mov byte [ebp - 0x597], ah
mov dl, 0x1e
xor dl, bl
lea eax, [ebp - 0x5db]
push eax
xor ch, bh
mov byte [ebp - 0x48d], dl
mov dl, 0x40
mov byte [ebp - 0x5d6], ch
lea eax, [ebp - 0x48f]
mov ch, dl
push eax
mov bl, 0x44
lea eax, [ebp - 0x59b]
xor cl, dh
xor dl, dh
xor bl, dh
mov byte [ebp - 0x59a], cl
xor ch, dh
mov byte [ebp - 0x599], dl
push eax
mov byte [ebp - 0x598], bl
mov byte [ebp - 0x596], ch
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x7c0]
cmp eax, 0x10
jb 0x458351
inc eax
lea ecx, [ebp - 0x7d4]
push eax
push dword [ebp - 0x7d4]
call fcn.00446440
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x7c0], 0xf
mov dword [ebp - 0x7c4], 0
mov byte [ebp - 0x7d4], 0
cmp eax, 0x10
jb 0x45838a
inc eax
lea ecx, [ebp - 0x6cc]
push eax
push dword [ebp - 0x6cc]
call fcn.00446440
mov dword [ebp - 0x6b8], 0xf
mov cl, 4
mov dword [ebp - 0x6bc], 0
xor eax, eax
mov byte [ebp - 0x6cc], 0
mov dword [ebp - 0x458], 0x61575804
mov dword [ebp - 0x454], 0x76617276
mov dword [ebp - 0x450], 0x6d6a6d2a
mov byte [ebp - 0x44c], 0
nop
xor byte [ebp + eax - 0x457], cl
inc eax
cmp eax, 0xb
jae 0x4583e5
mov cl, byte [ebp - 0x458]
jmp 0x4583d0
mov byte [ebp - 0x44c], 0
mov dword [ebp - 0x6d0], 0xf
mov dword [ebp - 0x6d4], 0
mov byte [ebp - 0x6e4], 0
cmp byte [edi], 0
jne 0x458410
xor ecx, ecx
jmp 0x45841e
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458415
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x6e4]
call fcn.004466b0
cmp byte [ebp - 0x457], 0
jne 0x458438
xor ecx, ecx
jmp 0x45844a
lea ecx, [ebp - 0x457]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458441
sub ecx, edx
push ecx
lea eax, [ebp - 0x457]
push eax
lea ecx, [ebp - 0x6e4]
call fcn.00445fc0
push eax
lea ecx, [ebp - 0x774]
call fcn.004459f0
cmp dword [ebp - 0x760], 0x10
lea esi, [ebp - 0x774]
mov dh, 0x66
mov word [ebp - 0x974], 0x2d
cmovae esi, dword [ebp - 0x774]
mov cl, 0x36
xor cl, dh
mov byte [ebp - 0x5a4], dh
mov al, 0x2f
mov byte [ebp - 0x5a2], cl
xor al, dh
mov byte [ebp - 0x59d], 0
mov ah, 0x23
mov byte [ebp - 0x5a3], al
xor ah, dh
mov byte [ebp - 0x5a5], 0
mov byte [ebp - 0x59f], ah
mov dl, 0x39
xor dl, dh
mov byte [ebp - 0x973], 0
push esi
mov ch, 0x31
mov byte [ebp - 0x5a1], dl
xor ch, dh
mov byte [ebp - 0x59d], 0
mov cl, 0x12
mov byte [ebp - 0x59e], ch
mov bl, 0x28
mov byte [ebp - 0x5a5], 0
xor bl, dh
mov ah, cl
mov dh, 0x77
mov byte [ebp - 0x5a0], bl
xor ah, dh
mov byte [ebp - 0x5ac], dh
push 0x64
push dword [ebp - 0x994]
mov al, 0x24
mov byte [ebp - 0x5a7], ah
xor al, dh
mov dl, 5
mov byte [ebp - 0x5ab], al
mov ch, dl
lea eax, [ebp - 0x973]
mov bl, 1
push eax
lea eax, [ebp - 0x5a3]
xor cl, dh
push eax
lea eax, [ebp - 0x5ab]
mov byte [ebp - 0x5aa], cl
xor dl, dh
xor bl, dh
xor ch, dh
mov byte [ebp - 0x5a9], dl
push eax
mov byte [ebp - 0x5a8], bl
mov byte [ebp - 0x5a6], ch
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x760]
cmp eax, 0x10
jb 0x458573
inc eax
lea ecx, [ebp - 0x774]
push eax
push dword [ebp - 0x774]
call fcn.00446440
mov eax, dword [ebp - 0x6d0]
mov dword [ebp - 0x760], 0xf
mov dword [ebp - 0x764], 0
mov byte [ebp - 0x774], 0
cmp eax, 0x10
jb 0x4585ac
inc eax
lea ecx, [ebp - 0x6e4]
push eax
push dword [ebp - 0x6e4]
call fcn.00446440
mov dword [ebp - 0x6d0], 0xf
mov cl, 0x77
mov dword [ebp - 0x6d4], 0
xor eax, eax
mov byte [ebp - 0x6e4], 0
mov dword [ebp - 0x468], 0x12242b77
mov dword [ebp - 0x464], 0x5120105
mov dword [ebp - 0x460], 0x1e191e59
mov byte [ebp - 0x45c], 0
xor byte [ebp + eax - 0x467], cl
inc eax
cmp eax, 0xb
jae 0x458605
mov cl, byte [ebp - 0x468]
jmp 0x4585f0
mov byte [ebp - 0x45c], 0
mov dword [ebp - 0x6e8], 0xf
mov dword [ebp - 0x6ec], 0
mov byte [ebp - 0x6fc], 0
cmp byte [edi], 0
jne 0x458630
xor ecx, ecx
jmp 0x45863e
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458635
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x6fc]
call fcn.004466b0
cmp byte [ebp - 0x467], 0
jne 0x458658
xor ecx, ecx
jmp 0x45866a
lea ecx, [ebp - 0x467]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458661
sub ecx, edx
push ecx
lea eax, [ebp - 0x467]
push eax
lea ecx, [ebp - 0x6fc]
call fcn.00445fc0
push eax
lea ecx, [ebp - 0x7bc]
call fcn.004459f0
cmp dword [ebp - 0x7a8], 0x10
lea esi, [ebp - 0x7bc]
mov cl, 0x6e
mov byte [ebp - 0x982], 0
cmovae esi, dword [ebp - 0x7bc]
mov ah, 0x2b
mov byte [ebp - 0x984], cl
mov al, 0x5e
xor al, cl
mov byte [ebp - 0x51c], ah
mov byte [ebp - 0x983], al
mov cl, 0x44
xor cl, ah
mov byte [ebp - 0x517], 0
mov dh, 0x63
mov byte [ebp - 0x51a], cl
mov al, 0x7b
mov byte [ebp - 0x5ad], 0
xor al, ah
mov byte [ebp - 0x982], 0
mov byte [ebp - 0x51b], al
mov dl, 0x59
xor dl, ah
mov byte [ebp - 0x517], 0
push esi
mov cl, 6
mov byte [ebp - 0x519], dl
mov bl, 0x5f
mov byte [ebp - 0x5b4], dh
xor bl, ah
mov byte [ebp - 0x5ad], 0
mov ah, cl
mov byte [ebp - 0x518], bl
xor ah, dh
mov al, 0x30
xor al, dh
mov byte [ebp - 0x5af], ah
push 0xa
push dword [ebp - 0x98c]
mov byte [ebp - 0x5b3], al
mov dl, 0x11
lea eax, [ebp - 0x983]
mov ch, dl
push eax
lea eax, [ebp - 0x51b]
mov bl, 0x15
push eax
lea eax, [ebp - 0x5b3]
xor cl, dh
xor dl, dh
mov byte [ebp - 0x5b2], cl
xor bl, dh
mov byte [ebp - 0x5b1], dl
xor ch, dh
mov byte [ebp - 0x5b0], bl
push eax
mov byte [ebp - 0x5ae], ch
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x7a8]
cmp eax, 0x10
jb 0x45878f
inc eax
lea ecx, [ebp - 0x7bc]
push eax
push dword [ebp - 0x7bc]
call fcn.00446440
mov eax, dword [ebp - 0x6e8]
mov dword [ebp - 0x7a8], 0xf
mov dword [ebp - 0x7ac], 0
mov byte [ebp - 0x7bc], 0
cmp eax, 0x10
jb 0x4587c8
inc eax
lea ecx, [ebp - 0x6fc]
push eax
push dword [ebp - 0x6fc]
call fcn.00446440
mov dword [ebp - 0x6e8], 0xf
mov cl, 0xc
mov dword [ebp - 0x6ec], 0
xor eax, eax
mov byte [ebp - 0x6fc], 0
mov dword [ebp - 0x478], 0x695f500c
mov dword [ebp - 0x474], 0x7e697a7e
mov dword [ebp - 0x470], 0x65626522
mov byte [ebp - 0x46c], 0
nop dword [eax]
xor byte [ebp + eax - 0x477], cl
inc eax
cmp eax, 0xb
jae 0x458825
mov cl, byte [ebp - 0x478]
jmp 0x458810
mov byte [ebp - 0x46c], 0
mov dword [ebp - 0x700], 0xf
mov dword [ebp - 0x704], 0
mov byte [ebp - 0x714], 0
cmp byte [edi], 0
jne 0x458850
xor ecx, ecx
jmp 0x45885e
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458855
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x714]
call fcn.004466b0
cmp byte [ebp - 0x477], 0
jne 0x458878
xor ecx, ecx
jmp 0x45888a
lea ecx, [ebp - 0x477]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458881
sub ecx, edx
push ecx
lea eax, [ebp - 0x477]
push eax
lea ecx, [ebp - 0x714]
call fcn.00445fc0
push eax
lea ecx, [ebp - 0x75c]
call fcn.004459f0
cmp dword [ebp - 0x748], 0x10
lea esi, [ebp - 0x75c]
mov byte [ebp - 0x4b8], 0x7a
mov al, 0x2a
cmovae esi, dword [ebp - 0x75c]
mov cl, 0x15
xor al, byte [ebp - 0x4b8]
mov ah, 0x25
mov byte [ebp - 0x4b7], al
mov dh, 0x3f
mov al, byte [ebp - 0x4b8]
mov dl, 8
xor cl, al
mov word [ebp - 0x970], 0x57
xor ah, al
mov byte [ebp - 0x4b6], cl
xor dh, al
mov byte [ebp - 0x4b3], ah
xor dl, al
mov byte [ebp - 0x4b1], dh
mov dh, 0x1f
mov byte [ebp - 0x4b5], dl
push esi
mov ch, 0x34
mov byte [ebp - 0x4af], 0
xor ch, al
mov byte [ebp - 0x5b5], 0
mov cl, 0x7a
mov byte [ebp - 0x4b2], ch
mov bl, 0xe
mov byte [ebp - 0x96f], 0
xor bl, al
mov byte [ebp - 0x4af], 0
mov bh, 0x2d
mov byte [ebp - 0x4b4], bl
xor bh, al
mov byte [ebp - 0x5bc], dh
mov ah, cl
mov byte [ebp - 0x4b0], bh
xor ah, dh
mov byte [ebp - 0x5b5], 0
push 0xa
push dword [ebp - 0x990]
mov al, 0x4c
mov byte [ebp - 0x5b7], ah
xor al, dh
mov dl, 0x6d
mov byte [ebp - 0x5bb], al
mov ch, dl
lea eax, [ebp - 0x96f]
mov bl, 0x69
push eax
lea eax, [ebp - 0x4b7]
xor cl, dh
push eax
lea eax, [ebp - 0x5bb]
mov byte [ebp - 0x5ba], cl
xor dl, dh
xor bl, dh
xor ch, dh
mov byte [ebp - 0x5b9], dl
push eax
mov byte [ebp - 0x5b8], bl
mov byte [ebp - 0x5b6], ch
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x748]
cmp eax, 0x10
jb 0x4589d0
inc eax
lea ecx, [ebp - 0x75c]
push eax
push dword [ebp - 0x75c]
call fcn.00446440
mov eax, dword [ebp - 0x700]
mov dword [ebp - 0x748], 0xf
mov dword [ebp - 0x74c], 0
mov byte [ebp - 0x75c], 0
cmp eax, 0x10
jb 0x458a09
inc eax
lea ecx, [ebp - 0x714]
push eax
push dword [ebp - 0x714]
call fcn.00446440
mov dword [ebp - 0x700], 0xf
mov cl, 0x54
mov dword [ebp - 0x704], 0
xor eax, eax
mov byte [ebp - 0x714], 0
mov dword [ebp - 0x488], 0x31070854
mov dword [ebp - 0x484], 0x26312226
mov dword [ebp - 0x480], 0x3d3a3d7a
mov byte [ebp - 0x47c], 0
nop dword [eax]
xor byte [ebp + eax - 0x487], cl
inc eax
cmp eax, 0xb
jae 0x458a65
mov cl, byte [ebp - 0x488]
jmp 0x458a50
mov byte [ebp - 0x47c], 0
mov dword [ebp - 0x718], 0xf
mov dword [ebp - 0x71c], 0
mov byte [ebp - 0x72c], 0
cmp byte [edi], 0
jne 0x458a90
xor ecx, ecx
jmp 0x458a9e
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458a95
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x72c]
call fcn.004466b0
cmp byte [ebp - 0x487], 0
jne 0x458ab8
xor ecx, ecx
jmp 0x458aca
lea ecx, [ebp - 0x487]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458ac1
sub ecx, edx
push ecx
lea eax, [ebp - 0x487]
push eax
lea ecx, [ebp - 0x72c]
call fcn.00445fc0
push eax
lea ecx, [ebp - 0x7a4]
call fcn.004459f0
cmp dword [ebp - 0x790], 0x10
lea esi, [ebp - 0x7a4]
mov ch, 0x63
mov byte [ebp - 0x55e], 0
cmovae esi, dword [ebp - 0x7a4]
mov bh, 0x70
mov al, 0x25
mov byte [ebp - 0x564], ch
xor al, ch
mov byte [ebp - 0x5c8], 0
mov ah, 0x10
mov byte [ebp - 0x563], al
xor ah, ch
mov byte [ebp - 0x55e], 0
mov byte [ebp - 0x55f], ah
mov al, 0x26
mov ah, 0x19
mov byte [ebp - 0x5d0], bh
xor al, bh
mov byte [ebp - 0x5c8], 0
xor ah, bh
mov byte [ebp - 0x5cf], al
push esi
mov cl, 0xa
mov byte [ebp - 0x5cb], ah
xor cl, ch
lea eax, [ebp - 0x563]
mov dl, 0xf
mov byte [ebp - 0x562], cl
xor dl, ch
mov bl, 6
xor bl, ch
mov byte [ebp - 0x561], dl
push 1
mov byte [ebp - 0x560], bl
mov cl, 0x15
push eax
mov dl, 2
lea eax, [ebp - 0x5cf]
mov ch, 0x1f
mov dh, 0x1e
mov bl, 3
xor cl, bh
xor dl, bh
mov byte [ebp - 0x5ce], cl
xor ch, bh
mov byte [ebp - 0x5cd], dl
xor dh, bh
mov byte [ebp - 0x5ca], ch
xor bl, bh
mov byte [ebp - 0x5c9], dh
push eax
mov byte [ebp - 0x5cc], bl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov esi, dword [ebp - 0x988]
mov word [esi + 0x27e], ax
mov eax, dword [ebp - 0x790]
cmp eax, 0x10
jb 0x458be3
inc eax
lea ecx, [ebp - 0x7a4]
push eax
push dword [ebp - 0x7a4]
call fcn.00446440
mov eax, dword [ebp - 0x718]
mov dword [ebp - 0x790], 0xf
mov dword [ebp - 0x794], 0
mov byte [ebp - 0x7a4], 0
cmp eax, 0x10
jb 0x458c1c
inc eax
lea ecx, [ebp - 0x72c]
push eax
push dword [ebp - 0x72c]
call fcn.00446440
mov ebx, dword [ebp - 0x998]
mov dword [ebp - 0x718], 0xf
mov dword [ebp - 0x71c], 0
mov byte [ebp - 0x72c], 0
mov dword [ebp - 0x628], 0xf
mov dword [ebp - 0x62c], 0
mov byte [ebp - 0x63c], 0
cmp byte [ebx], 0
jne 0x458c61
xor ecx, ecx
jmp 0x458c6f
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458c66
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x63c]
call fcn.004466b0
mov ebx, dword [ebp - 0x994]
mov dword [ebp - 0x778], 0xf
mov dword [ebp - 0x77c], 0
mov byte [ebp - 0x78c], 0
cmp byte [ebx], 0
jne 0x458ca6
xor ecx, ecx
jmp 0x458cb9
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458cb0
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x78c]
call fcn.004466b0
mov ebx, dword [ebp - 0x98c]
mov dword [ebp - 0x804], 0xf
mov dword [ebp - 0x808], 0
mov byte [ebp - 0x818], 0
cmp byte [ebx], 0
jne 0x458cf0
xor ecx, ecx
jmp 0x458cfe
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458cf5
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x818]
call fcn.004466b0
mov ebx, dword [ebp - 0x990]
mov dword [ebp - 0x7ec], 0xf
mov dword [ebp - 0x7f0], 0
mov byte [ebp - 0x800], 0
cmp byte [ebx], 0
jne 0x458d35
xor ecx, ecx
jmp 0x458d49
mov ecx, ebx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458d40
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x800]
call fcn.004466b0
cmp dword [ebp - 0x77c], 0
jbe 0x459227
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x78c]
mov dword [ebp - 0x730], 0xf
push eax
lea ecx, [ebp - 0x744]
mov dword [ebp - 0x734], 0
mov byte [ebp - 0x744], 0
call fcn.00445e90
mov eax, dword [ebp - 0x628]
cmp eax, 0x10
jb 0x458db2
inc eax
lea ecx, [ebp - 0x63c]
push eax
push dword [ebp - 0x63c]
call fcn.00446440
lea eax, [ebp - 0x744]
mov dword [ebp - 0x628], 0xf
push eax
lea ecx, [ebp - 0x63c]
mov dword [ebp - 0x62c], 0
mov byte [ebp - 0x63c], 0
call fcn.004461f0
mov eax, dword [ebp - 0x730]
cmp eax, 0x10
jb 0x458dfd
inc eax
lea ecx, [ebp - 0x744]
push eax
push dword [ebp - 0x744]
call fcn.00446440
mov dword [ebp - 0x730], 0xf
mov cl, 0x5b
mov dword [ebp - 0x734], 0
xor eax, eax
mov byte [ebp - 0x744], 0
mov dword [ebp - 0x438], 0x3e08075b
mov dword [ebp - 0x434], 0x293e2d29
mov dword [ebp - 0x430], 0x32353275
mov byte [ebp - 0x42c], 0
xor byte [ebp + eax - 0x437], cl
inc eax
cmp eax, 0xb
jae 0x458e56
mov cl, byte [ebp - 0x438]
jmp 0x458e41
mov byte [ebp - 0x42c], 0
mov dword [ebp - 0x81c], 0xf
mov dword [ebp - 0x820], 0
mov byte [ebp - 0x830], 0
cmp byte [edi], 0
jne 0x458e81
xor ecx, ecx
jmp 0x458e8f
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458e86
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x830]
call fcn.004466b0
cmp byte [ebp - 0x437], 0
jne 0x458ea9
xor ecx, ecx
jmp 0x458ebb
lea ecx, [ebp - 0x437]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458eb2
sub ecx, edx
push ecx
lea eax, [ebp - 0x437]
push eax
lea ecx, [ebp - 0x830]
call fcn.00445fc0
push eax
lea ecx, [ebp - 0x848]
call fcn.004459f0
cmp dword [ebp - 0x834], 0x10
lea edi, [ebp - 0x848]
mov bl, 0x6b
mov byte [ebp - 0x494], 0
cmovae edi, dword [ebp - 0x848]
lea esi, [ebp - 0x78c]
cmp dword [ebp - 0x778], 0x10
mov cl, 0x3b
mov dh, 0x12
mov byte [ebp - 0x498], bl
cmovae esi, dword [ebp - 0x78c]
mov al, 0x22
xor al, bl
mov byte [ebp - 0x5bd], 0
xor cl, bl
mov byte [ebp - 0x497], al
mov byte [ebp - 0x496], cl
mov dl, 0x5b
mov cl, 0x77
mov byte [ebp - 0x494], 0
xor dl, bl
mov byte [ebp - 0x5c4], dh
mov ah, cl
mov byte [ebp - 0x495], dl
mov al, 0x41
mov byte [ebp - 0x5bd], 0
xor al, dh
xor ah, dh
push edi
mov byte [ebp - 0x5c3], al
mov dl, 0x60
mov byte [ebp - 0x5bf], ah
mov ch, dl
push esi
lea eax, [ebp - 0x497]
mov bl, 0x64
push eax
lea eax, [ebp - 0x5c3]
xor cl, dh
xor dl, dh
mov byte [ebp - 0x5c2], cl
xor bl, dh
mov byte [ebp - 0x5c1], dl
xor ch, dh
mov byte [ebp - 0x5c0], bl
push eax
mov byte [ebp - 0x5be], ch
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0
push 1
lea ecx, [ebp - 0x848]
call fcn.00445dc0
lea ecx, [ebp - 0x830]
call fcn.004459b0
mov cl, 0xf
mov dword [ebp - 0x514], 0x6a5c530f
mov dword [ebp - 0x510], 0x7d6a797d
xor eax, eax
mov dword [ebp - 0x50c], 0x66616621
mov byte [ebp - 0x508], 0
xor byte [ebp + eax - 0x513], cl
inc eax
cmp eax, 0xb
jae 0x458ff6
mov cl, byte [ebp - 0x514]
jmp 0x458fe1
mov esi, dword [ebp - 0x988]
mov bl, 0x4e
mov cl, 0x1e
mov byte [ebp - 0x4a0], bl
xor cl, bl
mov byte [ebp - 0x49c], 0
mov dh, 0x7d
mov byte [ebp - 0x49e], cl
mov al, 7
mov byte [ebp - 0x565], 0
xor al, bl
mov byte [ebp - 0x508], 0
mov dl, 0x7f
mov byte [ebp - 0x49f], al
xor dl, bl
mov byte [ebp - 0x49c], 0
mov cl, 0x18
mov byte [ebp - 0x49d], dl
mov ah, cl
mov byte [ebp - 0x56c], dh
mov al, 0x2e
mov byte [ebp - 0x565], 0
mov dl, 0xf
lea edi, [esi + 0x104]
xor al, dh
xor ah, dh
mov ch, dl
mov byte [ebp - 0x56b], al
mov byte [ebp - 0x567], ah
xor cl, dh
xor ch, dh
mov byte [ebp - 0x56a], cl
lea eax, [ebp - 0x513]
mov byte [ebp - 0x566], ch
mov bl, 0xb
lea ecx, [ebp - 0x860]
push eax
xor dl, dh
xor bl, dh
push edi
mov byte [ebp - 0x569], dl
mov byte [ebp - 0x568], bl
call fcn.00445a70
mov edx, eax
lea ecx, [ebp - 0x950]
call fcn.004469a0
add esp, 4
mov ecx, eax
call fcn.00448730
push eax
push 0
lea eax, [ebp - 0x49f]
push eax
lea eax, [ebp - 0x56b]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x950]
call fcn.004459b0
lea ecx, [ebp - 0x860]
call fcn.004459b0
mov cl, 0x2e
mov dword [ebp - 0x504], 0x4b7d722e
mov dword [ebp - 0x500], 0x5c4b585c
xor eax, eax
mov dword [ebp - 0x4fc], 0x47404700
mov byte [ebp - 0x4f8], 0
nop
xor byte [ebp + eax - 0x503], cl
inc eax
cmp eax, 0xb
jae 0x459125
mov cl, byte [ebp - 0x504]
jmp 0x459110
mov dh, 0x22
mov byte [ebp - 0x56d], 0
mov cl, 0x72
mov byte [ebp - 0x574], dh
xor cl, dh
mov byte [ebp - 0x575], 0
mov al, 0x6b
mov byte [ebp - 0x572], cl
xor al, dh
mov byte [ebp - 0x4f8], 0
mov ah, 0x67
mov byte [ebp - 0x573], al
xor ah, dh
mov byte [ebp - 0x56d], 0
mov dl, 0x7d
mov byte [ebp - 0x56f], ah
xor dl, dh
mov byte [ebp - 0x575], 0
mov ch, 0x75
mov byte [ebp - 0x571], dl
xor ch, dh
mov cl, 0x29
mov ah, cl
mov byte [ebp - 0x56e], ch
mov bl, 0x6c
mov al, 0x1f
xor bl, dh
mov dl, 0x3e
mov dh, 0x4c
mov byte [ebp - 0x570], bl
xor al, dh
mov byte [ebp - 0x57c], dh
xor ah, dh
mov byte [ebp - 0x57b], al
mov ch, dl
mov byte [ebp - 0x577], ah
xor cl, dh
lea eax, [ebp - 0x503]
xor ch, dh
mov byte [ebp - 0x57a], cl
mov bl, 0x3a
mov byte [ebp - 0x576], ch
push eax
xor dl, dh
lea ecx, [ebp - 0x890]
xor bl, dh
mov byte [ebp - 0x579], dl
push edi
mov byte [ebp - 0x578], bl
call fcn.00445a70
mov edx, eax
lea ecx, [ebp - 0x878]
call fcn.004469a0
add esp, 4
mov ecx, eax
call fcn.00448730
push eax
push 0
lea eax, [ebp - 0x573]
push eax
lea eax, [ebp - 0x57b]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x878]
call fcn.004459b0
lea ecx, [ebp - 0x890]
call fcn.004459b0
cmp dword [ebp - 0x7f0], 0
jbe 0x459644
lea eax, [ebp - 0x800]
push eax
lea ecx, [ebp - 0x8a8]
call fcn.004487c0
push eax
lea ecx, [ebp - 0x818]
call fcn.00448760
lea ecx, [ebp - 0x8a8]
call fcn.004459b0
mov cl, 0x56
mov dword [ebp - 0x4f4], 0x33050a56
mov dword [ebp - 0x4f0], 0x24332024
xor eax, eax
mov dword [ebp - 0x4ec], 0x3f383f78
mov byte [ebp - 0x4e8], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x4f3], cl
inc eax
cmp eax, 0xb
jae 0x4592a5
mov cl, byte [ebp - 0x4f4]
jmp 0x459290
mov ah, 0x14
mov byte [ebp - 0x51f], 0
mov cl, 0x7b
mov byte [ebp - 0x524], ah
xor cl, ah
mov byte [ebp - 0x57d], 0
mov dh, 0xb
mov byte [ebp - 0x522], cl
mov al, 0x44
mov byte [ebp - 0x4e8], 0
xor al, ah
mov byte [ebp - 0x51f], 0
mov dl, 0x66
mov byte [ebp - 0x523], al
xor dl, ah
mov byte [ebp - 0x584], dh
mov cl, 0x6e
mov byte [ebp - 0x521], dl
mov bl, 0x60
mov byte [ebp - 0x57d], 0
xor bl, ah
mov al, 0x58
mov ah, cl
mov byte [ebp - 0x520], bl
mov dl, 0x79
xor al, dh
xor ah, dh
mov byte [ebp - 0x583], al
mov ch, dl
mov byte [ebp - 0x57f], ah
xor cl, dh
lea eax, [ebp - 0x4f3]
xor ch, dh
mov byte [ebp - 0x582], cl
mov bl, 0x7d
mov byte [ebp - 0x57e], ch
push eax
xor dl, dh
lea ecx, [ebp - 0x8c0]
xor bl, dh
mov byte [ebp - 0x581], dl
push edi
mov byte [ebp - 0x580], bl
call fcn.00445a70
mov edx, eax
lea ecx, [ebp - 0x968]
call fcn.004469a0
add esp, 4
mov ecx, eax
call fcn.00448730
push eax
lea ecx, [ebp - 0x800]
call fcn.00448730
push eax
lea eax, [ebp - 0x523]
push eax
lea eax, [ebp - 0x583]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x968]
call fcn.004459b0
lea ecx, [ebp - 0x8c0]
call fcn.004459b0
mov cl, 0x38
mov dword [ebp - 0x4e4], 0x5d6b6438
mov dword [ebp - 0x4e0], 0x4a5d4e4a
xor eax, eax
mov dword [ebp - 0x4dc], 0x51565116
mov byte [ebp - 0x4d8], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x4e3], cl
inc eax
cmp eax, 0xb
jae 0x4593e5
mov cl, byte [ebp - 0x4e4]
jmp 0x4593d0
mov ch, 0x5a
mov byte [ebp - 0x526], 0
mov cl, 0x35
mov byte [ebp - 0x52c], ch
xor cl, ch
mov byte [ebp - 0x585], 0
mov dh, 0xd
mov byte [ebp - 0x52a], cl
mov al, 0xa
mov byte [ebp - 0x4d8], 0
xor al, ch
mov byte [ebp - 0x526], 0
mov ah, 0x6b
mov byte [ebp - 0x52b], al
xor ah, ch
mov byte [ebp - 0x58c], dh
mov dl, 0x28
mov byte [ebp - 0x527], ah
xor dl, ch
mov byte [ebp - 0x585], 0
mov cl, 0x68
mov byte [ebp - 0x529], dl
mov ah, cl
mov al, 0x5e
mov dl, 0x7f
xor al, dh
xor ah, dh
mov byte [ebp - 0x58b], al
mov bl, 0x2e
mov byte [ebp - 0x587], ah
xor bl, ch
lea eax, [ebp - 0x4e3]
mov ch, dl
mov byte [ebp - 0x528], bl
xor cl, dh
xor ch, dh
mov bl, 0x7b
mov byte [ebp - 0x58a], cl
push eax
xor dl, dh
mov byte [ebp - 0x586], ch
xor bl, dh
mov byte [ebp - 0x589], dl
push edi
lea ecx, [ebp - 0x8f0]
mov byte [ebp - 0x588], bl
call fcn.00445a70
mov edx, eax
lea ecx, [ebp - 0x8d8]
call fcn.004469a0
add esp, 4
mov ecx, eax
call fcn.00448730
push eax
push 0
lea eax, [ebp - 0x52b]
push eax
lea eax, [ebp - 0x58b]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x8d8]
call fcn.004459b0
lea ecx, [ebp - 0x8f0]
call fcn.004459b0
mov cl, 0x22
mov dword [ebp - 0x4d4], 0x47717e22
mov dword [ebp - 0x4d0], 0x50475450
xor eax, eax
mov dword [ebp - 0x4cc], 0x4b4c4b0c
mov byte [ebp - 0x4c8], 0
nop word [eax + eax]
xor byte [ebp + eax - 0x4d3], cl
inc eax
cmp eax, 0xb
jae 0x459525
mov cl, byte [ebp - 0x4d4]
jmp 0x459510
mov byte [ebp - 0x4c4], 0x44
mov al, 0x14
xor al, byte [ebp - 0x4c4]
mov cl, 0x2b
mov byte [ebp - 0x4c3], al
mov ah, 0x1b
mov al, byte [ebp - 0x4c4]
mov dh, 1
xor cl, al
mov byte [ebp - 0x4bb], 0
xor ah, al
mov byte [ebp - 0x4c2], cl
xor dh, al
mov byte [ebp - 0x4bf], ah
mov dl, 0x36
mov byte [ebp - 0x4bd], dh
xor dl, al
mov byte [ebp - 0x58d], 0
mov dh, 0x71
mov byte [ebp - 0x4c1], dl
mov ch, 0xa
mov byte [ebp - 0x4c8], 0
xor ch, al
mov byte [ebp - 0x4bb], 0
mov cl, 0x14
mov byte [ebp - 0x4be], ch
mov ah, cl
mov byte [ebp - 0x594], dh
mov bl, 0x30
mov byte [ebp - 0x58d], 0
xor bl, al
mov bh, 0x13
xor bh, al
mov byte [ebp - 0x4c0], bl
mov al, 0x22
mov byte [ebp - 0x4bc], bh
mov dl, 3
xor al, dh
xor ah, dh
mov byte [ebp - 0x593], al
mov ch, dl
mov byte [ebp - 0x58f], ah
xor cl, dh
lea eax, [ebp - 0x4d3]
xor ch, dh
mov byte [ebp - 0x592], cl
mov bl, 7
mov byte [ebp - 0x58e], ch
push eax
xor dl, dh
lea ecx, [ebp - 0x920]
xor bl, dh
mov byte [ebp - 0x591], dl
push edi
mov byte [ebp - 0x590], bl
call fcn.00445a70
mov edx, eax
lea ecx, [ebp - 0x908]
call fcn.004469a0
add esp, 4
mov ecx, eax
call fcn.00448730
push eax
push 0
lea eax, [ebp - 0x4c3]
push eax
lea eax, [ebp - 0x593]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x908]
call fcn.004459b0
lea ecx, [ebp - 0x920]
call fcn.004459b0
sub esp, 0x18
lea eax, [ebp - 0x63c]
mov ecx, esp
push eax
call fcn.004487c0
call fcn.0045c4e0
add esp, 0x18
cmp byte [0x53421c], 0
je 0x4597bd
lea eax, [ebp - 0x63c]
push eax
lea ecx, [esi + 0x220]
call fcn.00448740
push eax
lea ecx, [esi + 0x208]
call fcn.00448740
push ecx
push 0x51a6e0
lea ecx, [ebp - 0x63c]
call fcn.0044e950
cmp eax, 0xffffffff
je 0x4597ab
lea ecx, [ebp - 0x9a4]
call fcn.00448710
sub esp, 0x18
mov ecx, esp
push 0x51a6e0
call fcn.00445a70
sub esp, 0x18
lea eax, [ebp - 0x63c]
mov ecx, esp
push eax
call fcn.004487c0
lea ecx, [ebp - 0x9a4]
call fcn.0045a500
add esp, 0x30
lea ecx, [ebp - 0x9a4]
call fcn.0044b110
cmp eax, 3
jne 0x4597a0
movaps xmm0, xmmword [0x51ade0]
xor ecx, ecx
movups xmmword [ebp - 0x7e8], xmm0
mov byte [ebp - 0x7d8], 0
nop word [eax + eax]
mov al, byte [ebp - 0x7e8]
xor byte [ebp + ecx - 0x7e7], al
inc ecx
cmp ecx, 0xf
jb 0x459710
push 2
lea ecx, [ebp - 0x9a4]
mov byte [ebp - 0x7d8], 0
call fcn.0045c0f0
mov ecx, eax
call fcn.00448730
push eax
push 1
lea ecx, [ebp - 0x9a4]
call fcn.0045c0f0
mov ecx, eax
call fcn.00448730
push eax
push 0
lea ecx, [ebp - 0x9a4]
call fcn.0045c0f0
mov ecx, eax
call fcn.00448730
push eax
sub esp, 0x18
lea eax, [ebp - 0x7e7]
mov ecx, esp
push eax
call fcn.00445a70
lea eax, [ebp - 0x938]
push eax
call fcn.0045a3f0
add esp, 0x28
lea ecx, [esi + 0x220]
push eax
call fcn.00448760
lea ecx, [ebp - 0x938]
call fcn.004459b0
lea ecx, [ebp - 0x9a4]
call fcn.00448630
lea eax, [ebp - 0x818]
push eax
lea ecx, [esi + 0x23c]
call fcn.00448740
lea ecx, [ebp - 0x800]
call fcn.004459b0
lea ecx, [ebp - 0x818]
call fcn.004459b0
lea ecx, [ebp - 0x78c]
call fcn.004459b0
lea ecx, [ebp - 0x63c]
call fcn.004459b0
lea ecx, [ebp - 0x654]
call fcn.004459b0
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004aa896
mov esp, ebp
pop ebp
ret