Function at 0x10022f80
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x10075604]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov dword [ebp - 0x12c], esi
test edi, edi
je 0x10023661
cmp dword [ebp + 0xc], 1
jne 0x10023661
push ebx
push 0x104
lea eax, [ebp - 0x108]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, 0x100760e8
cmp dword [0x100760fc], 0x10
cmovae eax, dword [0x100760e8]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov byte [ebp - 0x114], 0x40
mov al, 0xf
xor al, byte [ebp - 0x114]
mov cl, 0x30
xor cl, byte [ebp - 0x114]
mov ch, 0x2e
mov byte [ebp - 0x113], al
mov bl, 0x29
mov byte [ebp - 0x127], ch
mov ah, 0x2f
mov al, byte [ebp - 0x127]
mov dl, 0x34
mov byte [ebp - 0x112], cl
mov dh, 0x6e
mov cl, byte [ebp - 0x114]
mov bh, 9
xor al, cl
mov byte [ebp - 0x123], bl
mov byte [ebp - 0x10b], al
xor ah, cl
mov al, byte [ebp - 0x123]
xor dl, cl
xor al, cl
mov byte [ebp - 0x10f], ah
mov byte [ebp - 0x10a], al
xor bl, cl
lea eax, [ebp - 0x113]
mov byte [ebp - 0x109], 0
push eax
lea eax, [ebp - 0x108]
mov byte [ebp - 0x111], dl
xor ch, cl
mov byte [ebp - 0x110], bl
xor dh, cl
mov byte [ebp - 0x10e], ch
xor bh, cl
mov byte [ebp - 0x10d], dh
push eax
mov byte [ebp - 0x10c], bh
mov byte [ebp - 0x109], 0
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esi + 0x68]
test eax, eax
je 0x100231cf
cmp edi, eax
jne 0x100231cf
xor eax, eax
cmp dword [0x1007616c], 1
setne al
push eax
mov dword [0x1007616c], eax
lea eax, [ebp - 0x144]
push eax
call fcn.1000e4c0
mov esi, eax
add esp, 8
cmp dword [esi + 0x14], 0x10
jb 0x100230d7
mov esi, dword [esi]
mov byte [ebp - 0x114], 0x27
mov al, 0x75
xor al, byte [ebp - 0x114]
mov cl, 0x42
mov byte [ebp - 0x113], al
mov bl, cl
mov al, byte [ebp - 0x114]
mov dl, 0x4a
mov ah, dl
mov byte [ebp - 0x10b], 0
xor ah, al
mov byte [ebp - 0x118], 0
xor cl, al
mov byte [ebp - 0x10f], ah
xor dl, al
mov byte [ebp - 0x112], cl
mov dh, bl
mov byte [ebp - 0x111], dl
xor bl, al
mov byte [ebp - 0x10b], 0
xor dh, al
mov byte [ebp - 0x110], bl
mov bh, 0x55
mov byte [ebp - 0x10d], dh
xor bh, al
mov byte [ebp - 0x118], 0
mov ch, 0x45
mov byte [ebp - 0x10c], bh
xor ch, al
mov bh, 0x62
mov al, 0x23
mov byte [ebp - 0x10e], ch
xor al, bh
mov byte [ebp - 0x120], bh
mov ah, 0x17
mov byte [ebp - 0x11f], al
xor ah, bh
mov cl, 1
mov byte [ebp - 0x11b], ah
mov dl, cl
lea eax, [ebp - 0x108]
mov ch, 0xc
push eax
push esi
lea eax, [ebp - 0x113]
mov dh, 0x16
push eax
mov bl, 0xd
lea eax, [ebp - 0x11f]
xor cl, bh
xor dl, bh
xor ch, bh
mov byte [ebp - 0x11e], cl
xor dh, bh
mov byte [ebp - 0x11d], dl
xor bl, bh
mov byte [ebp - 0x11a], ch
push eax
mov byte [ebp - 0x11c], bl
mov byte [ebp - 0x119], dh
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x144]
call fcn.10001840
mov esi, dword [ebp - 0x12c]
mov eax, dword [esi + 0x64]
test eax, eax
je 0x1002364c
cmp edi, eax
jne 0x1002364c
cmp dword [0x1007616c], 0
je 0x10023434
push 0x10076118
mov ecx, esi
call fcn.10022540
push 0x10076130
mov ecx, esi
call fcn.100225f0
cmp dword [0x1007612c], 0x10
mov esi, 0x10076118
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov al, 0x55
cmovae esi, dword [0x10076118]
mov cl, 0x77
mov byte [ebp - 0x114], 0x14
mov dl, cl
xor al, byte [ebp - 0x114]
mov ah, 0x61
mov byte [ebp - 0x113], al
mov ch, 0x7a
mov al, byte [ebp - 0x114]
mov dh, 0x60
xor cl, al
mov byte [ebp - 0x123], 0x50
xor dl, al
mov byte [ebp - 0x112], cl
xor ah, al
mov byte [ebp - 0x111], dl
xor ch, al
mov byte [ebp - 0x10f], ah
xor dh, al
mov byte [ebp - 0x10e], ch
mov bl, 0x7b
mov byte [ebp - 0x10d], dh
xor bl, al
mov byte [ebp - 0x10a], 0
mov bh, 0x5d
mov byte [ebp - 0x110], bl
xor bh, al
mov byte [ebp - 0x118], 0
mov al, byte [ebp - 0x123]
mov ah, 0x17
xor al, byte [ebp - 0x114]
mov cl, 1
mov byte [ebp - 0x10b], al
mov dl, cl
mov byte [ebp - 0x10c], bh
mov al, 0x23
mov bh, 0x62
mov byte [ebp - 0x10a], 0
xor al, bh
mov byte [ebp - 0x120], bh
xor ah, bh
mov byte [ebp - 0x11f], al
mov byte [ebp - 0x11b], ah
mov ch, 0xc
lea eax, [ebp - 0x108]
mov byte [ebp - 0x118], 0
push eax
push esi
lea eax, [ebp - 0x113]
mov dh, 0x16
push eax
mov bl, 0xd
lea eax, [ebp - 0x11f]
xor cl, bh
xor dl, bh
xor ch, bh
mov byte [ebp - 0x11e], cl
xor dh, bh
mov byte [ebp - 0x11d], dl
xor bl, bh
mov byte [ebp - 0x11a], ch
push eax
mov byte [ebp - 0x11c], bl
mov byte [ebp - 0x119], dh
call edi
cmp dword [0x10076144], 0x10
mov esi, 0x10076130
mov byte [ebp - 0x114], 0x1f
mov al, 0x4f
cmovae esi, dword [0x10076130]
mov cl, 0x7e
xor al, byte [ebp - 0x114]
mov dl, 0x6c
mov byte [ebp - 0x113], al
mov bl, dl
mov al, byte [ebp - 0x114]
mov ah, 0x48
xor ah, al
mov byte [ebp - 0x10b], 0
xor cl, al
mov byte [ebp - 0x10f], ah
xor dl, al
mov byte [ebp - 0x112], cl
xor bl, al
mov byte [ebp - 0x111], dl
mov bh, 0x7b
mov byte [ebp - 0x110], bl
xor bh, al
mov byte [ebp - 0x118], 0
mov ch, 0x70
mov byte [ebp - 0x10c], bh
xor ch, al
mov byte [ebp - 0x10b], 0
mov bh, 0x44
mov byte [ebp - 0x10e], ch
mov dh, 0x6d
mov byte [ebp - 0x120], bh
xor dh, al
mov byte [ebp - 0x118], 0
mov al, 5
mov byte [ebp - 0x10d], dh
xor al, bh
mov ah, 0x31
xor ah, bh
mov byte [ebp - 0x11f], al
mov byte [ebp - 0x11b], ah
mov cl, 0x27
lea eax, [ebp - 0x108]
mov dl, cl
push eax
push esi
lea eax, [ebp - 0x113]
mov ch, 0x2a
push eax
mov dh, 0x30
lea eax, [ebp - 0x11f]
mov bl, 0x2b
xor cl, bh
xor dl, bh
mov byte [ebp - 0x11e], cl
xor ch, bh
mov byte [ebp - 0x11d], dl
xor dh, bh
mov byte [ebp - 0x11a], ch
xor bl, bh
mov byte [ebp - 0x119], dh
push eax
mov byte [ebp - 0x11c], bl
call edi
mov esi, dword [ebp - 0x12c]
mov ecx, esi
call fcn.10022740
pop ebx
pop edi
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1005e77e
mov esp, ebp
pop ebp
ret 8
mov byte [ebp - 0x114], 0x22
mov al, 0x63
xor al, byte [ebp - 0x114]
mov cl, 0x41
mov byte [ebp - 0x113], al
mov dl, cl
mov al, byte [ebp - 0x114]
mov ah, 0x57
xor cl, al
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
xor dl, al
mov byte [ebp - 0x123], 0x66
xor ah, al
mov byte [ebp - 0x112], cl
mov ch, 0x4c
mov byte [ebp - 0x10f], ah
xor ch, al
mov byte [ebp - 0x111], dl
mov dh, 0x56
mov byte [ebp - 0x10e], ch
xor dh, al
mov word [ebp - 0x128], 0x50
mov bl, 0x4d
mov byte [ebp - 0x10d], dh
xor bl, al
mov byte [ebp - 0x10a], 0
mov bh, 0x6b
mov byte [ebp - 0x110], bl
xor bh, al
mov byte [ebp - 0x118], 0
mov al, byte [ebp - 0x123]
mov ah, 0x3c
xor al, byte [ebp - 0x114]
mov cl, 0x2a
mov byte [ebp - 0x10b], al
mov dl, cl
mov byte [ebp - 0x10c], bh
mov al, 8
mov bh, 0x49
mov byte [ebp - 0x127], 0
xor al, bh
mov byte [ebp - 0x10a], 0
xor ah, bh
mov byte [ebp - 0x11f], al
mov byte [ebp - 0x11b], ah
mov ch, 0x27
lea eax, [ebp - 0x108]
mov byte [ebp - 0x120], bh
push eax
lea eax, [ebp - 0x127]
mov byte [ebp - 0x118], 0
push eax
lea eax, [ebp - 0x113]
mov dh, 0x3d
push eax
mov bl, 0x26
lea eax, [ebp - 0x11f]
xor cl, bh
xor dl, bh
xor bl, bh
mov byte [ebp - 0x11e], cl
xor ch, bh
mov byte [ebp - 0x11d], dl
xor dh, bh
mov byte [ebp - 0x11c], bl
push eax
mov byte [ebp - 0x11a], ch
mov byte [ebp - 0x119], dh
call edi
mov dl, 0x7d
mov word [ebp - 0x124], 3
mov byte [ebp - 0x123], 0
mov al, 0x5e
mov byte [ebp - 0x114], 0xe
mov cl, 0x6f
mov bl, dl
mov byte [ebp - 0x10b], 0
mov ah, 0x59
mov ch, 0x61
mov dh, 0x7c
mov bh, 0x6a
xor al, byte [ebp - 0x114]
mov byte [ebp - 0x113], al
mov al, byte [ebp - 0x114]
xor ah, al
mov byte [ebp - 0x118], 0
xor bh, al
mov byte [ebp - 0x10f], ah
xor cl, al
mov byte [ebp - 0x10c], bh
xor dl, al
mov byte [ebp - 0x112], cl
xor bl, al
mov byte [ebp - 0x111], dl
xor ch, al
mov byte [ebp - 0x110], bl
xor dh, al
mov byte [ebp - 0x10e], ch
mov bh, 0x2e
mov byte [ebp - 0x10d], dh
mov al, 0x6f
mov byte [ebp - 0x10b], 0
xor al, bh
mov byte [ebp - 0x120], bh
mov ah, 0x5b
mov byte [ebp - 0x11f], al
xor ah, bh
mov byte [ebp - 0x118], 0
mov byte [ebp - 0x11b], ah
mov cl, 0x4d
lea eax, [ebp - 0x108]
mov dl, cl
push eax
lea eax, [ebp - 0x123]
mov ch, 0x40
push eax
lea eax, [ebp - 0x113]
mov dh, 0x5a
push eax
mov bl, 0x41
lea eax, [ebp - 0x11f]
xor cl, bh
xor dl, bh
xor ch, bh
mov byte [ebp - 0x11e], cl
xor dh, bh
mov byte [ebp - 0x11d], dl
xor bl, bh
mov byte [ebp - 0x11a], ch
push eax
mov byte [ebp - 0x11c], bl
mov byte [ebp - 0x119], dh
call edi
mov ecx, esi
call fcn.10022740
pop ebx
pop edi
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1005e77e
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
xor al, al
pop edi
xor ecx, ebp
pop esi
call fcn.1005e77e
mov esp, ebp
pop ebp
ret 8