Function at 0x488610
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51a6e1
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x55b098]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xa8], esi
mov edi, dword [ebp + 8]
movzx eax, byte [edi + 0x1c]
dec eax
cmp eax, 0xf2
ja case.0x488660.4
movzx eax, byte [eax + 0x489648]
jmp dword [eax*4 + 0x489634]
cmp byte [esi + 8], 0
jne case.0x488660.4
mov edx, dword [edi + 8]
mov ecx, dword [edi + 0x14]
sub ecx, dword [edi + 0x10]
lea eax, [edx + 2]
cmp eax, ecx
jbe 0x488685
xor ecx, ecx
jmp 0x48868c
mov eax, dword [edi + 0x10]
movzx ecx, word [edx + eax]
lea eax, [edx + 2]
mov dword [edi + 8], eax
mov eax, dword [0x56e460]
mov word [esi + 0x268], cx
mov eax, dword [eax + 4]
cmp dword [eax + 4], 0xffffffff
je case.0x488660.4
mov ecx, dword [esi + 4]
lea eax, [ebp - 0x2d]
push 1
push eax
mov byte [ebp - 0x2d], 3
call fcn.00448220
cmp byte [esi + 9], 0
mov byte [esi + 8], 1
jne case.0x488660.4
mov ecx, esi
call fcn.004884b0
jmp case.0x488660.4
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x4c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x64], 0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x4c]
mov ecx, edi
push eax
call fcn.00485ce0
mov ecx, eax
call fcn.00485ce0
mov edx, eax
mov ebx, dword [edx + 8]
mov ecx, dword [edx + 0x14]
sub ecx, dword [edx + 0x10]
lea eax, [ebx + 2]
cmp eax, ecx
jbe 0x488732
xor ecx, ecx
jmp 0x488739
mov eax, dword [edx + 0x10]
movzx ecx, word [ebx + eax]
lea eax, [ebx + 2]
movzx ebx, cx
mov dword [edx + 8], eax
test ebx, ebx
je 0x488866
nop word [eax + eax]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
call fcn.00485ce0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x80], esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], 0
jb 0x48879f
mov eax, dword [ecx]
jmp 0x4887a1
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x2c]
push 0
push eax
call fcn.004489b0
sub esp, 0x18
mov byte [ebp - 4], 3
mov ecx, esp
mov dword [ebp - 0x98], esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], 0
jb 0x4887e6
mov eax, dword [ecx]
jmp 0x4887e8
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x64]
push 0
push eax
call fcn.004489b0
sub esp, 0x18
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], 0
jb 0x488827
mov eax, dword [ecx]
jmp 0x488829
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.004489b0
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00487610
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18]
cmp eax, 0x10
jb 0x48885d
inc eax
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
call fcn.00448ce0
sub ebx, 1
jne 0x488750
movaps xmm0, xmmword [0x5513a0]
xor ecx, ecx
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x18], 0
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xf
jb 0x488877
cmp byte [ebp - 0x27], 0
mov byte [ebp - 0x18], 0
mov dword [ebp - 0xb0], 0xf
mov dword [ebp - 0xb4], 0
mov byte [ebp - 0xc4], 0
jne 0x4888ad
xor ecx, ecx
jmp 0x4888bc
lea ecx, [ebp - 0x27]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4888b3
sub ecx, edx
push ecx
lea eax, [ebp - 0x27]
push eax
lea ecx, [ebp - 0xc4]
call fcn.004488b0
lea edi, [esi + 0x26c]
mov byte [ebp - 4], 5
lea eax, [ebp - 0xc4]
cmp edi, eax
je 0x4888ec
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.004489b0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xb0]
cmp eax, 0x10
jb 0x48890e
inc eax
lea ecx, [ebp - 0xc4]
push eax
push dword [ebp - 0xc4]
call fcn.00448ce0
mov ecx, dword [esi]
call fcn.00451b60
mov ecx, dword [esi]
call fcn.004525c0
mov ecx, dword [esi]
call fcn.00452ea0
mov ecx, dword [esi]
call fcn.004537d0
mov eax, dword [0x56e460]
mov bh, 0x86
mov byte [ebp - 0x84], 0x3e
mov cl, 0xee
xor bh, byte [ebp - 0x84]
mov dl, 0xfc
mov bl, 0xf3
mov byte [ebp - 0x7b], 0
mov byte [eax + 0x284], 0x64
mov ch, 0x8d
mov al, 0xc2
mov byte [ebp - 0x83], bh
xor al, byte [ebp - 0x84]
mov ah, 0xd4
mov byte [ebp - 0x82], al
mov dh, 0xf7
mov al, byte [ebp - 0x84]
xor cl, al
mov byte [ebp - 0x7b], 0
xor dl, al
mov byte [ebp - 0x81], cl
xor bl, al
mov byte [ebp - 0x80], dl
xor ah, al
mov byte [ebp - 0x7f], bl
xor ch, al
mov byte [ebp - 0x7e], ah
xor dh, al
mov byte [ebp - 0x7d], ch
mov byte [ebp - 0x7c], dh
mov dword [ebp - 0xc8], 0xf
mov dword [ebp - 0xcc], 0
mov byte [ebp - 0xdc], 0
test bh, bh
jne 0x4889b7
xor ecx, ecx
jmp 0x4889c9
lea ecx, [ebp - 0x83]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4889c0
sub ecx, edx
push ecx
lea eax, [ebp - 0x83]
push eax
lea ecx, [ebp - 0xdc]
call fcn.004488b0
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 6
cmp edi, eax
je 0x4889f6
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.004489b0
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xc8]
cmp eax, 0x10
jb 0x488a18
inc eax
lea ecx, [ebp - 0xdc]
push eax
push dword [ebp - 0xdc]
call fcn.00448ce0
lea edx, [esi + 0x230]
mov byte [esi + 0x249], 1
cmp dword [edx + 0x10], 1
jbe 0x488abb
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x80], esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], 0
jb 0x488a5d
mov eax, dword [ecx]
jmp 0x488a5f
mov eax, ecx
push 0xffffffffffffffff
push 0
push edx
mov byte [eax], 0
call fcn.004489b0
sub esp, 0x18
mov byte [ebp - 4], 7
mov ecx, esp
lea edx, [esi + 0x14c]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 0xf
cmp dword [ecx + 0x14], 0x10
mov dword [ecx + 0x10], 0
jb 0x488aa1
mov eax, dword [ecx]
jmp 0x488aa3
mov eax, ecx
push 0xffffffffffffffff
push 0
push edx
mov byte [eax], 0
call fcn.004489b0
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00487c10
mov eax, dword [ebp - 0x50]
cmp eax, 0x10
jb 0x488ad0
inc eax
lea ecx, [ebp - 0x64]
push eax
push dword [ebp - 0x64]
call fcn.00448ce0
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb case.0x488660.4
inc eax
lea ecx, [ebp - 0x4c]
push eax
push dword [ebp - 0x4c]
call fcn.00448ce0
jmp case.0x488660.4
mov edx, dword [edi + 8]
mov ecx, dword [edi + 0x14]
sub ecx, dword [edi + 0x10]
lea eax, [edx + 2]
cmp eax, ecx
jbe 0x488b02
xor ebx, ebx
jmp 0x488b09
mov eax, dword [edi + 0x10]
movzx ebx, word [edx + eax]
lea eax, [edx + 2]
push 0x550739
lea ecx, [ebp - 0x4c]
mov dword [edi + 8], eax
call fcn.0044b480
xor eax, eax
mov dword [ebp - 4], 8
cmp ax, bx
jae 0x488b53
lea eax, [esi + 0x24]
movzx ebx, bx
mov esi, eax
lea eax, [ebp - 0x4c]
mov ecx, edi
push eax
call fcn.00485ce0
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
call fcn.004897a0
sub ebx, 1
jne 0x488b32
mov esi, dword [ebp - 0xa8]
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x24]
call fcn.00489920
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb case.0x488660.4
inc eax
lea ecx, [ebp - 0x4c]
push eax
push dword [ebp - 0x4c]
call fcn.00448ce0
jmp case.0x488660.4
cmp byte [esi + 0x248], 0
je case.0x488660.4
lea eax, [esi + 0x164]
mov byte [esi + 0x248], 0
push eax
mov ecx, edi
mov dword [ebp - 0x80], eax
call fcn.00485ce0
mov edx, eax
mov ebx, dword [edx + 8]
mov ecx, dword [edx + 0x14]
sub ecx, dword [edx + 0x10]
lea eax, [ebx + 1]
cmp eax, ecx
jbe 0x488bb7
xor cl, cl
jmp 0x488bbd
mov eax, dword [edx + 0x10]
mov cl, byte [ebx + eax]
lea eax, [ebx + 1]
mov dword [edx + 8], eax
movzx eax, cl
dec eax
cmp eax, 0x15
ja case.0x488bd0.8
jmp dword [eax*4 + 0x48973c]
add dword [edi + 8], 2
lea eax, [esi + 0x14c]
push eax
mov ecx, edi
mov byte [edi + 4], 0
mov dword [ebp - 0xa8], eax
call fcn.00485ce0
cmp byte [esi + 0x17d], 0
lea edi, [esi + 0x30]
mov byte [esi + 0x17c], 1
lea ecx, [ebp - 0x64]
push edi
je 0x488f38
mov dword [ebp - 0x98], edi
call fcn.0044b480
mov edx, eax
mov dword [ebp - 4], 9
mov cl, 0x60
mov dword [ebp - 0x24], 0x102f3c60
xor eax, eax
mov dword [ebp - 0x20], 0xe0f0914
mov dword [ebp - 0x1c], 0x90e094e
mov byte [ebp - 0x18], 0
nop
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x488c4f
mov cl, byte [ebp - 0x24]
jmp 0x488c40
lea eax, [ebp - 0x23]
mov byte [ebp - 0x18], 0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0044fa90
mov esi, eax
add esp, 4
cmp dword [esi + 0x14], 0x10
jb 0x488c6c
mov esi, dword [esi]
mov cl, 0x71
mov byte [ebp - 0x90], 0x6c
mov al, 0x40
mov byte [ebp - 0x78], cl
xor al, cl
mov byte [ebp - 0x70], 0x20
mov byte [ebp - 0x77], al
mov cl, 9
mov bl, cl
mov byte [ebp - 0x76], 0
mov al, 0x3e
mov byte [ebp - 0x87], 0
xor al, byte [ebp - 0x90]
mov dl, 1
mov byte [ebp - 0x8f], al
mov ah, dl
mov al, byte [ebp - 0x90]
mov dh, bl
xor cl, al
mov byte [ebp - 0x67], 0
xor dl, al
mov byte [ebp - 0x8e], cl
xor bl, al
mov byte [ebp - 0x8d], dl
xor ah, al
mov byte [ebp - 0x8c], bl
xor dh, al
mov byte [ebp - 0x8b], ah
mov ch, 0xe
mov byte [ebp - 0x89], dh
xor ch, al
mov byte [ebp - 0x76], 0
mov bh, 0x1e
mov byte [ebp - 0x8a], ch
xor bh, al
mov byte [ebp - 0x87], 0
mov al, 0x6c
mov byte [ebp - 0x88], bh
xor al, byte [ebp - 0x70]
mov ah, 0x43
mov byte [ebp - 0x6f], al
mov cl, 0x41
mov al, byte [ebp - 0x70]
mov dl, 0x55
xor ah, al
mov byte [ebp - 0x67], 0
xor cl, al
mov byte [ebp - 0x6b], ah
xor dl, al
mov byte [ebp - 0x6e], cl
mov ch, 0x48
mov byte [ebp - 0x6d], dl
xor ch, al
mov dh, 0x45
xor dh, al
mov byte [ebp - 0x6a], ch
mov bl, 0x4e
mov byte [ebp - 0x69], dh
xor bl, al
mov bh, 0x52
xor bh, al
mov byte [ebp - 0x6c], bl
push esi
lea eax, [ebp - 0x77]
mov byte [ebp - 0x68], bh
push eax
lea eax, [ebp - 0x8f]
push eax
lea eax, [ebp - 0x6f]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x4c]
call fcn.004484e0
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.004484e0
push edi
lea ecx, [ebp - 0x64]
call fcn.0044b480
mov edx, eax
mov dword [ebp - 4], 0xa
mov cl, 0x4c
mov dword [ebp - 0x24], 0x3c03104c
xor eax, eax
mov dword [ebp - 0x20], 0x22232538
mov dword [ebp - 0x1c], 0x25222562
mov byte [ebp - 0x18], 0
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x488da2
mov cl, byte [ebp - 0x24]
jmp 0x488d93
lea eax, [ebp - 0x23]
mov byte [ebp - 0x18], 0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0044fa90
mov edi, eax
add esp, 4
cmp dword [edi + 0x14], 0x10
jb 0x488dbf
mov edi, dword [edi]
mov esi, dword [ebp - 0xa8]
cmp dword [esi + 0x14], 0x10
jb 0x488dcd
mov esi, dword [esi]
mov bl, 0x50
mov byte [ebp - 0x70], 0x18
mov al, 5
mov byte [ebp - 0x78], bl
xor al, bl
mov byte [ebp - 0x74], 0
mov byte [ebp - 0x77], al
mov cl, 0x19
xor cl, bl
mov byte [ebp - 0x67], 0
mov al, 0x54
mov byte [ebp - 0x76], cl
xor al, byte [ebp - 0x70]
mov dl, 0x14
xor dl, bl
mov byte [ebp - 0x6f], al
mov al, byte [ebp - 0x70]
mov ah, 0x7b
mov byte [ebp - 0x75], dl
xor ah, al
push edi
mov cl, 0x79
mov byte [ebp - 0x6b], ah
mov dl, 0x6d
mov byte [ebp - 0x74], 0
mov ch, 0x70
mov byte [ebp - 0x67], 0
mov dh, 0x7d
xor cl, al
xor dl, al
mov byte [ebp - 0x6e], cl
xor ch, al
mov byte [ebp - 0x6d], dl
xor dh, al
mov byte [ebp - 0x6a], ch
mov bl, 0x76
mov byte [ebp - 0x69], dh
xor bl, al
mov bh, 0x6a
xor bh, al
mov byte [ebp - 0x6c], bl
push esi
lea eax, [ebp - 0x77]
mov byte [ebp - 0x68], bh
push eax
lea eax, [ebp - 0x6f]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x4c]
call fcn.004484e0
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.004484e0
push dword [ebp - 0x98]
lea ecx, [ebp - 0x64]
call fcn.0044b480
mov edx, eax
mov dword [ebp - 4], 0xb
mov cl, 0x23
mov dword [ebp - 0x24], 0x536c7f23
xor eax, eax
mov dword [ebp - 0x20], 0x4d4c4a57
mov dword [ebp - 0x1c], 0x4a4d4a0d
mov byte [ebp - 0x18], 0
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x488ea1
mov cl, byte [ebp - 0x24]
jmp 0x488e92
lea eax, [ebp - 0x23]
mov byte [ebp - 0x18], 0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0044fa90
mov esi, eax
add esp, 4
cmp dword [esi + 0x14], 0x10
jb 0x488ebe
mov esi, dword [esi]
mov edi, dword [ebp - 0x80]
cmp dword [edi + 0x14], 0x10
jb 0x488ec9
mov edi, dword [edi]
mov bl, 2
mov byte [ebp - 0x70], 0x36
mov al, 0x57
mov byte [ebp - 0x98], bl
xor al, bl
mov byte [ebp - 0x94], 0
mov byte [ebp - 0x97], al
mov cl, 0x52
xor cl, bl
mov byte [ebp - 0x94], 0
mov al, 0x7a
mov byte [ebp - 0x96], cl
xor al, byte [ebp - 0x70]
mov dl, 0x55
xor dl, bl
mov byte [ebp - 0x6f], al
mov al, byte [ebp - 0x70]
mov ah, 0x55
mov byte [ebp - 0x95], dl
xor ah, al
mov cl, 0x57
mov byte [ebp - 0x6b], ah
mov dl, 0x43
mov bl, 0x58
mov ch, 0x5e
mov dh, 0x53
mov bh, 0x44
xor cl, al
xor dl, al
xor bl, al
xor ch, al
xor dh, al
push esi
xor bh, al
lea eax, [ebp - 0x97]
push edi
jmp 0x489227
call fcn.0044b480
mov edx, eax
mov dword [ebp - 4], 0xc
mov cl, 0x59
mov dword [ebp - 0x24], 0x29160559
xor eax, eax
mov dword [ebp - 0x20], 0x3736302d
mov dword [ebp - 0x1c], 0x30373077
mov byte [ebp - 0x18], 0
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x488f72
mov cl, byte [ebp - 0x24]
jmp 0x488f63
lea eax, [ebp - 0x23]
mov byte [ebp - 0x18], 0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0044fa90
mov esi, eax
add esp, 4
cmp dword [esi + 0x14], 0x10
jb 0x488f8f
mov esi, dword [esi]
mov cl, 0x29
mov byte [ebp - 0x70], 0x51
mov al, 0x19
mov byte [ebp - 0x78], cl
xor al, cl
mov byte [ebp - 0x90], 0x64
mov byte [ebp - 0x77], al
mov cl, 0x34
mov bl, cl
mov byte [ebp - 0x76], 0
mov al, 3
mov byte [ebp - 0x67], 0
xor al, byte [ebp - 0x70]
mov dl, 0x3c
mov byte [ebp - 0x6f], al
mov ah, dl
mov al, byte [ebp - 0x70]
mov dh, bl
xor cl, al
mov byte [ebp - 0x87], 0
xor dl, al
mov byte [ebp - 0x6e], cl
xor bl, al
mov byte [ebp - 0x6d], dl
xor ah, al
mov byte [ebp - 0x6c], bl
xor dh, al
mov byte [ebp - 0x6b], ah
mov ch, 0x33
mov byte [ebp - 0x69], dh
xor ch, al
mov byte [ebp - 0x76], 0
mov bh, 0x23
mov byte [ebp - 0x6a], ch
xor bh, al
mov byte [ebp - 0x67], 0
mov al, 0x28
mov byte [ebp - 0x68], bh
xor al, byte [ebp - 0x90]
mov ah, 7
mov byte [ebp - 0x8f], al
mov cl, 5
mov al, byte [ebp - 0x90]
mov dl, 0x11
xor ah, al
mov byte [ebp - 0x87], 0
xor cl, al
mov byte [ebp - 0x8b], ah
xor dl, al
mov byte [ebp - 0x8e], cl
mov ch, 0xc
mov byte [ebp - 0x8d], dl
xor ch, al
mov dh, 1
xor dh, al
mov byte [ebp - 0x8a], ch
mov bl, 0xa
mov byte [ebp - 0x89], dh
xor bl, al
mov bh, 0x16
xor bh, al
mov byte [ebp - 0x8c], bl
push esi
lea eax, [ebp - 0x77]
mov byte [ebp - 0x88], bh
push eax
lea eax, [ebp - 0x6f]
push eax
lea eax, [ebp - 0x8f]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x4c]
call fcn.004484e0
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.004484e0
push edi
lea ecx, [ebp - 0x64]
call fcn.0044b480
mov edx, eax
mov dword [ebp - 4], 0xd
mov cl, 0x64
mov dword [ebp - 0x24], 0x142b3864
xor eax, eax
mov dword [ebp - 0x20], 0xa0b0d10
mov dword [ebp - 0x1c], 0xd0a0d4a
mov byte [ebp - 0x18], 0
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x4890c5
mov cl, byte [ebp - 0x24]
jmp 0x4890b6
lea eax, [ebp - 0x23]
mov byte [ebp - 0x18], 0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0044fa90
mov esi, eax
add esp, 4
cmp dword [esi + 0x14], 0x10
jb 0x4890e2
mov esi, dword [esi]
mov bl, 9
mov byte [ebp - 0x70], 0x68
mov al, 0x5c
mov byte [ebp - 0x80], bl
xor al, bl
mov byte [ebp - 0x7c], 0
mov byte [ebp - 0x7f], al
mov cl, 0x40
xor cl, bl
mov byte [ebp - 0x7c], 0
mov al, 0x24
mov byte [ebp - 0x7e], cl
xor al, byte [ebp - 0x70]
mov dl, 0x4d
xor dl, bl
mov byte [ebp - 0x6f], al
mov al, byte [ebp - 0x70]
mov cl, bl
mov byte [ebp - 0x7d], dl
mov ah, 0xb
xor ah, al
mov byte [ebp - 0x67], 0
push esi
mov dl, 0x1d
mov byte [ebp - 0x6b], ah
xor ch, ch
mov dh, 0xd
xor cl, al
xor dl, al
xor ch, al
mov byte [ebp - 0x6e], cl
xor dh, al
mov byte [ebp - 0x6d], dl
mov bl, 6
mov byte [ebp - 0x6a], ch
xor bl, al
mov byte [ebp - 0x69], dh
mov bh, 0x1a
mov byte [ebp - 0x6c], bl
xor bh, al
lea eax, [ebp - 0x7f]
push 0x550739
push eax
lea eax, [ebp - 0x6f]
mov byte [ebp - 0x68], bh
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x4c]
call fcn.004484e0
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.004484e0
push edi
lea ecx, [ebp - 0x64]
call fcn.0044b480
mov edx, eax
mov dword [ebp - 4], 0xe
mov cl, 0x77
mov dword [ebp - 0x24], 0x7382b77
xor eax, eax
mov dword [ebp - 0x20], 0x19181e03
mov dword [ebp - 0x1c], 0x1e191e59
mov byte [ebp - 0x18], 0
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xb
jae 0x4891b1
mov cl, byte [ebp - 0x24]
jmp 0x4891a2
lea eax, [ebp - 0x23]
mov byte [ebp - 0x18], 0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0044fa90
mov esi, eax
add esp, 4
cmp dword [esi + 0x14], 0x10
jb 0x4891ce
mov esi, dword [esi]
mov bl, 0x6a
mov byte [ebp - 0x70], 0x2a
mov al, 0x3f
mov byte [ebp - 0x80], bl
xor al, bl
mov byte [ebp - 0x7c], 0
mov byte [ebp - 0x7f], al
mov cl, 0x3a
xor cl, bl
mov byte [ebp - 0x7c], 0
mov al, 0x66
mov byte [ebp - 0x7e], cl
xor al, byte [ebp - 0x70]
mov dl, 0x3d
xor dl, bl
mov byte [ebp - 0x6f], al
mov al, byte [ebp - 0x70]
mov ah, 0x49
mov byte [ebp - 0x7d], dl
xor ah, al
mov cl, 0x4b
mov byte [ebp - 0x6b], ah
mov dl, 0x5f
mov bl, 0x44
mov ch, 0x42
mov dh, 0x4f
mov bh, 0x58
xor cl, al
xor dl, al
xor bl, al
xor ch, al
xor dh, al
push esi
xor bh, al
lea eax, [ebp - 0x7f]
push 0x550739
push eax
lea eax, [ebp - 0x6f]
mov byte [ebp - 0x67], 0
push eax
mov byte [ebp - 0x67], 0
mov byte [ebp - 0x68], bh
mov byte [ebp - 0x69], dh
mov byte [ebp - 0x6a], ch
mov byte [ebp - 0x6c], bl
mov byte [ebp - 0x6d], dl
mov byte [ebp - 0x6e], cl
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x4c]
call fcn.004484e0
lea ecx, [ebp - 0x64]
call fcn.004484e0
jmp case.0x488660.4
mov cl, 0x76
mov dword [ebp - 0x24], 0xa3bdc276
mov dword [ebp - 0x20], 0xb8b3ccbd
xor eax, eax
mov dword [ebp - 0x1c], 0xc4d4a1c2
mov word [ebp - 0x18], 0x5897
mov byte [ebp - 0x16], 0
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xd
jae 0x489293
mov cl, byte [ebp - 0x24]
jmp 0x489284
mov byte [ebp - 0x16], 0
lea eax, [ebp - 0x23]
jmp 0x4895fd
mov byte [ebp - 0x70], 0x29
mov al, 0xea
xor al, byte [ebp - 0x70]
mov ah, 0xe7
mov byte [ebp - 0x6f], al
mov cl, 0xf5
mov al, byte [ebp - 0x70]
mov dl, 0xeb
xor cl, al
mov byte [ebp - 0x2d], 7
xor dl, al
mov byte [ebp - 0x66], 0
xor ah, al
mov byte [ebp - 0x6e], cl
mov bl, 0xc2
mov byte [ebp - 0x6b], ah
xor bl, al
mov byte [ebp - 0x6d], dl
mov ch, 0xf7
mov byte [ebp - 0x6c], bl
xor ch, al
mov byte [ebp - 0x66], 0
mov dh, 0xf9
mov byte [ebp - 0x6a], ch
xor dh, al
mov bh, 0x8e
xor bh, al
mov byte [ebp - 0x69], dh
mov al, byte [ebp - 0x2d]
xor al, byte [ebp - 0x70]
mov byte [ebp - 0x67], al
lea eax, [ebp - 0x6f]
mov byte [ebp - 0x68], bh
jmp 0x4895fd
movaps xmm0, xmmword [0x551c10]
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x3daac5fb
mov byte [ebp - 0x18], 0
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x13
jb 0x489314
mov byte [ebp - 0x18], 0
lea eax, [ebp - 0x2b]
jmp 0x4895fd
movaps xmm0, xmmword [0x551c40]
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0xe2f7e78d
mov word [ebp - 0x18], 0x1ae4
mov byte [ebp - 0x16], 0
nop dword [eax + eax]
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x15
jb 0x489350
mov byte [ebp - 0x16], 0
lea eax, [ebp - 0x2b]
jmp 0x4895fd
movaps xmm0, xmmword [0x551be0]
xor ecx, ecx
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0xcb80c2b4
mov dword [ebp - 0x38], 0x50c9a8a6
mov byte [ebp - 0x34], 0
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0x17
jb 0x489388
mov byte [ebp - 0x34], 0
lea eax, [ebp - 0x4b]
jmp 0x4895fd
movaps xmm0, xmmword [0x551bd0]
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0xb99ac3ad
mov word [ebp - 0x18], 0x5984
mov byte [ebp - 0x16], 0
nop
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x15
jb 0x4893c0
mov byte [ebp - 0x16], 0
lea eax, [ebp - 0x2b]
jmp 0x4895fd
movaps xmm0, xmmword [0x551c30]
xor ecx, ecx
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0x86888ad0
mov dword [ebp - 0x38], 0x84ce88f7
mov word [ebp - 0x34], 0x1de5
mov byte [ebp - 0x32], 0
nop
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0x19
jb 0x489400
mov byte [ebp - 0x32], 0
lea eax, [ebp - 0x4b]
jmp 0x4895fd
mov cl, 0x70
mov dword [ebp - 0x24], 0x20bbc470
mov dword [ebp - 0x20], 0xa2d8cf20
xor eax, eax
mov dword [ebp - 0x1c], 0xb68dc9a1
mov word [ebp - 0x18], 0x5eaa
mov byte [ebp - 0x16], 0
nop dword [eax]
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xd
jae 0x489293
mov cl, byte [ebp - 0x24]
jmp 0x489440
mov cl, 0x1d
mov dword [ebp - 0x24], 0xa6dece1d
mov dword [ebp - 0x20], 0xcfb0cdba
xor eax, eax
mov dword [ebp - 0x1c], 0xcde1a5f4
mov word [ebp - 0x18], 0x33df
mov byte [ebp - 0x16], 0
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xd
jae 0x489293
mov cl, byte [ebp - 0x24]
jmp 0x489476
movaps xmm0, xmmword [0x5514f0]
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x9cb5abb4
mov word [ebp - 0x18], 0x59
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x14
jb 0x4894a3
mov byte [ebp - 0x17], 0
lea eax, [ebp - 0x2b]
jmp 0x4895fd
mov byte [ebp - 0x70], 0x72
mov al, 0xc6
xor al, byte [ebp - 0x70]
mov ah, 0x53
mov byte [ebp - 0x6f], al
mov cl, 0x9f
mov al, byte [ebp - 0x70]
mov dl, 0xbc
xor cl, al
mov byte [ebp - 0x2d], 0x22
xor dl, al
mov byte [ebp - 0x66], 0
xor ah, al
mov byte [ebp - 0x6e], cl
mov bl, 0x81
mov byte [ebp - 0x6b], ah
xor bl, al
mov byte [ebp - 0x6d], dl
mov ch, 0x52
mov byte [ebp - 0x6c], bl
xor ch, al
mov byte [ebp - 0x66], 0
mov dh, 0x3d
mov byte [ebp - 0x6a], ch
xor dh, al
mov bh, 0x26
xor bh, al
mov byte [ebp - 0x69], dh
mov al, byte [ebp - 0x2d]
xor al, byte [ebp - 0x70]
mov byte [ebp - 0x67], al
lea eax, [ebp - 0x6f]
mov byte [ebp - 0x68], bh
jmp 0x4895fd
movaps xmm0, xmmword [0x5512e0]
xor ecx, ecx
movups xmmword [ebp - 0x24], xmm0
mov al, byte [ebp - 0x24]
xor byte [ebp + ecx - 0x23], al
inc ecx
cmp ecx, 0xe
jb 0x489526
mov byte [ebp - 0x15], 0
lea eax, [ebp - 0x23]
jmp 0x4895fd
mov cl, 0x7b
mov dword [ebp - 0x24], 0xada3ad7b
mov dword [ebp - 0x20], 0xb4b5a8b8
xor eax, eax
mov dword [ebp - 0x1c], 0xb9a7b8cc
mov word [ebp - 0x18], 0x5590
mov byte [ebp - 0x16], 0
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0xd
jae 0x489293
mov cl, byte [ebp - 0x24]
jmp 0x489562
mov al, 0xc9
mov byte [ebp - 0xa4], 7
mov dh, al
mov byte [ebp - 0x2d], 0x29
xor al, byte [ebp - 0xa4]
mov cl, 0xb3
mov byte [ebp - 0xa3], al
mov ah, cl
mov al, byte [ebp - 0xa4]
mov dl, 0xd1
xor cl, al
mov byte [ebp - 0x9a], 0
xor dl, al
mov byte [ebp - 0xa2], cl
xor ah, al
mov byte [ebp - 0xa1], dl
xor dh, al
mov byte [ebp - 0x9f], ah
mov bl, 0xad
mov byte [ebp - 0x9d], dh
xor bl, al
mov byte [ebp - 0x9a], 0
mov ch, 0xea
mov byte [ebp - 0xa0], bl
xor ch, al
mov bh, 0xf4
xor bh, al
mov byte [ebp - 0x9e], ch
mov al, byte [ebp - 0x2d]
xor al, byte [ebp - 0xa4]
mov byte [ebp - 0x9b], al
lea eax, [ebp - 0xa3]
mov byte [ebp - 0x9c], bh
push 0x30
push str.Error
push eax
push dword [esi + 0x22c]
call dword [sym.imp.USER32.dll_MessageBoxA]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004d7d33
mov esp, ebp
pop ebp
ret 4