Function at 0x4895f0
Capabilities:
Access peb ldr_data
Authenticate hmac
Check for peb beingdebugged flag
Check for peb ntglobalflag flag
Encode data using xor
Get number of processors
Get process heap flags
Get process heap force flags
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d75db
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x5153e8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xd4], esi
call fcn.0047d6e0
mov byte [ebp - 0xcc], 0x71
movzx eax, byte [ebp - 0xcc]
xor al, 0x33
mov dword [ebp - 4], 0
mov byte [ebp - 0xcb], al
movzx eax, byte [ebp - 0xcc]
inc al
xor al, 0x30
mov byte [ebp - 0xca], al
movzx eax, byte [ebp - 0xcc]
add al, 2
xor al, 0x35
mov byte [ebp - 0xc9], al
movzx eax, byte [ebp - 0xcc]
add al, 3
xor al, 0x41
mov byte [ebp - 0xc8], al
movzx eax, byte [ebp - 0xcc]
add al, 4
xor al, 0x33
mov byte [ebp - 0xc7], al
movzx eax, byte [ebp - 0xcc]
add al, 5
xor al, 0x30
mov byte [ebp - 0xc6], al
movzx eax, byte [ebp - 0xcc]
add al, 6
xor al, 0x30
mov byte [ebp - 0xc5], al
movzx eax, byte [ebp - 0xcc]
add al, 7
xor al, 0x44
mov byte [ebp - 0xc4], al
movzx eax, byte [ebp - 0xcc]
add al, 8
xor al, 0x30
mov byte [ebp - 0xc3], al
movzx eax, byte [ebp - 0xcc]
add al, 9
xor al, 0x36
mov byte [ebp - 0xc2], al
movzx eax, byte [ebp - 0xcc]
add al, 0xa
xor al, 0x30
mov byte [ebp - 0xc1], al
movzx eax, byte [ebp - 0xcc]
add al, 0xb
xor al, 0x39
mov byte [ebp - 0xc0], al
movzx eax, byte [ebp - 0xcc]
add al, 0xc
xor al, 0x32
mov byte [ebp - 0xbf], al
movzx eax, byte [ebp - 0xcc]
add al, 0xd
xor al, 0x41
mov byte [ebp - 0xbe], al
movzx eax, byte [ebp - 0xcc]
add al, 0xe
xor al, 0x38
mov byte [ebp - 0xbd], al
movzx eax, byte [ebp - 0xcc]
add al, 0xf
xor al, 0x36
mov byte [ebp - 0xbc], al
movzx eax, byte [ebp - 0xcc]
add al, 0x10
xor al, 0x34
mov byte [ebp - 0xbb], al
movzx eax, byte [ebp - 0xcc]
add al, 0x11
xor al, 0x38
mov byte [ebp - 0xba], al
movzx eax, byte [ebp - 0xcc]
add al, 0x12
xor al, 0x38
mov byte [ebp - 0xb9], al
movzx eax, byte [ebp - 0xcc]
add al, 0x13
xor al, 0x36
mov byte [ebp - 0xb8], al
movzx eax, byte [ebp - 0xcc]
add al, 0x14
xor al, 0x46
mov byte [ebp - 0xb7], al
movzx eax, byte [ebp - 0xcc]
add al, 0x15
xor al, 0x37
mov byte [ebp - 0xb6], al
movzx eax, byte [ebp - 0xcc]
add al, 0x16
xor al, 0x30
mov byte [ebp - 0xb5], al
movzx eax, byte [ebp - 0xcc]
add al, 0x17
xor al, 0x44
mov byte [ebp - 0xb4], al
movzx eax, byte [ebp - 0xcc]
add al, 0x18
xor al, 0x30
mov byte [ebp - 0xb3], al
movzx eax, byte [ebp - 0xcc]
add al, 0x19
xor al, 0x31
mov byte [ebp - 0xb2], al
movzx eax, byte [ebp - 0xcc]
add al, 0x1a
xor al, 0x30
mov byte [ebp - 0xb1], al
movzx eax, byte [ebp - 0xcc]
add al, 0x1b
xor al, 0x31
mov byte [ebp - 0xb0], al
movzx eax, byte [ebp - 0xcc]
add al, 0x1c
xor al, 0x30
mov byte [ebp - 0xaf], al
movzx eax, byte [ebp - 0xcc]
add al, 0x1d
xor al, 0x31
mov byte [ebp - 0xae], al
movzx eax, byte [ebp - 0xcc]
add al, 0x1e
xor al, 0x30
mov byte [ebp - 0xad], al
movzx eax, byte [ebp - 0xcc]
add al, 0x1f
xor al, 0x35
mov byte [ebp - 0xac], al
movzx eax, byte [ebp - 0xcc]
add al, 0x20
xor al, 0x30
mov byte [ebp - 0xab], al
movzx eax, byte [ebp - 0xcc]
add al, 0x21
xor al, 0x30
mov byte [ebp - 0xaa], al
movzx eax, byte [ebp - 0xcc]
add al, 0x22
xor al, 0x30
mov byte [ebp - 0xa9], al
movzx eax, byte [ebp - 0xcc]
add al, 0x23
xor al, 0x33
mov byte [ebp - 0xa8], al
movzx eax, byte [ebp - 0xcc]
add al, 0x24
xor al, 0x34
mov byte [ebp - 0xa7], al
movzx eax, byte [ebp - 0xcc]
add al, 0x25
xor al, 0x39
mov byte [ebp - 0xa6], al
movzx eax, byte [ebp - 0xcc]
add al, 0x26
xor al, 0x30
mov byte [ebp - 0xa5], al
movzx eax, byte [ebp - 0xcc]
add al, 0x27
xor al, 0x30
mov byte [ebp - 0xa4], al
movzx eax, byte [ebp - 0xcc]
add al, 0x28
xor al, 0x33
mov byte [ebp - 0xa3], al
movzx eax, byte [ebp - 0xcc]
add al, 0x29
xor al, 0x30
mov byte [ebp - 0xa2], al
movzx eax, byte [ebp - 0xcc]
add al, 0x2a
xor al, 0x34
mov byte [ebp - 0xa1], al
movzx eax, byte [ebp - 0xcc]
add al, 0x2b
xor al, 0x36
mov byte [ebp - 0xa0], al
movzx eax, byte [ebp - 0xcc]
add al, 0x2c
xor al, 0x30
mov byte [ebp - 0x9f], al
movzx eax, byte [ebp - 0xcc]
add al, 0x2d
xor al, 0x32
mov byte [ebp - 0x9e], al
movzx eax, byte [ebp - 0xcc]
add al, 0x2e
xor al, 0x34
mov byte [ebp - 0x9d], al
movzx eax, byte [ebp - 0xcc]
add al, 0x2f
xor al, 0x31
mov byte [ebp - 0x9c], al
movzx eax, byte [ebp - 0xcc]
add al, 0x30
xor al, 0x30
mov byte [ebp - 0x9b], al
movzx eax, byte [ebp - 0xcc]
add al, 0x31
xor al, 0x30
mov byte [ebp - 0x9a], al
movzx eax, byte [ebp - 0xcc]
add al, 0x32
xor al, 0x42
mov byte [ebp - 0x99], al
movzx eax, byte [ebp - 0xcc]
add al, 0x33
xor al, 0x42
mov byte [ebp - 0x98], al
movzx eax, byte [ebp - 0xcc]
add al, 0x34
xor al, 0x43
mov byte [ebp - 0x97], al
movzx eax, byte [ebp - 0xcc]
add al, 0x35
xor al, 0x37
mov byte [ebp - 0x96], al
movzx eax, byte [ebp - 0xcc]
add al, 0x36
xor al, 0x37
mov byte [ebp - 0x95], al
movzx eax, byte [ebp - 0xcc]
add al, 0x37
xor al, 0x35
mov byte [ebp - 0x94], al
movzx eax, byte [ebp - 0xcc]
add al, 0x38
xor al, 0x32
mov byte [ebp - 0x93], al
movzx eax, byte [ebp - 0xcc]
add al, 0x39
xor al, 0x37
mov byte [ebp - 0x92], al
movzx eax, byte [ebp - 0xcc]
add al, 0x3a
xor al, 0x37
mov byte [ebp - 0x91], al
movzx eax, byte [ebp - 0xcc]
add al, 0x3b
xor al, 0x41
mov byte [ebp - 0x90], al
movzx eax, byte [ebp - 0xcc]
add al, 0x3c
xor al, 0x33
mov byte [ebp - 0x8f], al
movzx eax, byte [ebp - 0xcc]
add al, 0x3d
xor al, 0x36
mov byte [ebp - 0x8e], al
movzx eax, byte [ebp - 0xcc]
add al, 0x3e
xor al, 0x31
mov byte [ebp - 0x8d], al
movzx eax, byte [ebp - 0xcc]
add al, 0x3f
xor al, 0x41
mov byte [ebp - 0x8c], al
movzx eax, byte [ebp - 0xcc]
add al, 0x40
xor al, 0x32
mov byte [ebp - 0x8b], al
movzx eax, byte [ebp - 0xcc]
add al, 0x41
xor al, 0x33
mov byte [ebp - 0x8a], al
movzx eax, byte [ebp - 0xcc]
add al, 0x42
xor al, 0x46
mov byte [ebp - 0x89], al
movzx eax, byte [ebp - 0xcc]
add al, 0x43
xor al, 0x41
mov byte [ebp - 0x88], al
movzx eax, byte [ebp - 0xcc]
add al, 0x44
xor al, 0x31
mov byte [ebp - 0x87], al
movzx eax, byte [ebp - 0xcc]
add al, 0x45
xor al, 0x42
mov byte [ebp - 0x86], al
movzx eax, byte [ebp - 0xcc]
add al, 0x46
xor al, 0x44
mov byte [ebp - 0x85], al
movzx eax, byte [ebp - 0xcc]
add al, 0x47
xor al, 0x44
mov byte [ebp - 0x84], al
movzx eax, byte [ebp - 0xcc]
add al, 0x48
xor al, 0x38
mov byte [ebp - 0x83], al
movzx eax, byte [ebp - 0xcc]
add al, 0x49
xor al, 0x34
mov byte [ebp - 0x82], al
movzx eax, byte [ebp - 0xcc]
add al, 0x4a
xor al, 0x42
mov byte [ebp - 0x81], al
movzx eax, byte [ebp - 0xcc]
add al, 0x4b
xor al, 0x32
mov byte [ebp - 0x80], al
movzx eax, byte [ebp - 0xcc]
add al, 0x4c
xor al, 0x42
mov byte [ebp - 0x7f], al
movzx eax, byte [ebp - 0xcc]
add al, 0x4d
xor al, 0x30
mov byte [ebp - 0x7e], al
movzx eax, byte [ebp - 0xcc]
add al, 0x4e
xor al, 0x39
mov byte [ebp - 0x7d], al
movzx eax, byte [ebp - 0xcc]
add al, 0x4f
xor al, 0x37
mov byte [ebp - 0x7c], al
movzx eax, byte [ebp - 0xcc]
add al, 0x50
xor al, 0x33
mov byte [ebp - 0x7b], al
movzx eax, byte [ebp - 0xcc]
add al, 0x51
xor al, 0x36
mov byte [ebp - 0x7a], al
movzx eax, byte [ebp - 0xcc]
add al, 0x52
xor al, 0x35
mov byte [ebp - 0x79], al
movzx eax, byte [ebp - 0xcc]
add al, 0x53
xor al, 0x35
mov byte [ebp - 0x78], al
movzx eax, byte [ebp - 0xcc]
add al, 0x54
xor al, 0x32
mov byte [ebp - 0x77], al
movzx eax, byte [ebp - 0xcc]
add al, 0x55
xor al, 0x43
mov byte [ebp - 0x76], al
movzx eax, byte [ebp - 0xcc]
add al, 0x56
xor al, 0x30
mov byte [ebp - 0x75], al
movzx eax, byte [ebp - 0xcc]
add al, 0x57
xor al, 0x41
mov byte [ebp - 0x74], al
movzx eax, byte [ebp - 0xcc]
add al, 0x58
xor al, 0x41
mov byte [ebp - 0x73], al
movzx eax, byte [ebp - 0xcc]
add al, 0x59
xor al, 0x45
mov byte [ebp - 0x72], al
movzx eax, byte [ebp - 0xcc]
add al, 0x5a
xor al, 0x32
mov byte [ebp - 0x71], al
movzx eax, byte [ebp - 0xcc]
add al, 0x5b
xor al, 0x39
mov byte [ebp - 0x70], al
movzx eax, byte [ebp - 0xcc]
add al, 0x5c
xor al, 0x32
mov byte [ebp - 0x6f], al
movzx eax, byte [ebp - 0xcc]
add al, 0x5d
xor al, 0x42
mov byte [ebp - 0x6e], al
movzx eax, byte [ebp - 0xcc]
add al, 0x5e
xor al, 0x41
mov byte [ebp - 0x6d], al
movzx eax, byte [ebp - 0xcc]
add al, 0x5f
xor al, 0x43
mov byte [ebp - 0x6c], al
movzx eax, byte [ebp - 0xcc]
add al, 0x60
xor al, 0x44
mov byte [ebp - 0x6b], al
movzx eax, byte [ebp - 0xcc]
add al, 0x61
xor al, 0x31
mov byte [ebp - 0x6a], al
movzx eax, byte [ebp - 0xcc]
add al, 0x62
xor al, 0x46
mov byte [ebp - 0x69], al
movzx eax, byte [ebp - 0xcc]
add al, 0x63
xor al, 0x37
mov byte [ebp - 0x68], al
movzx eax, byte [ebp - 0xcc]
add al, 0x64
xor al, 0x36
mov byte [ebp - 0x67], al
movzx eax, byte [ebp - 0xcc]
add al, 0x65
xor al, 0x34
mov byte [ebp - 0x66], al
movzx eax, byte [ebp - 0xcc]
add al, 0x66
xor al, 0x33
mov byte [ebp - 0x65], al
movzx eax, byte [ebp - 0xcc]
add al, 0x67
xor al, 0x46
mov byte [ebp - 0x64], al
movzx eax, byte [ebp - 0xcc]
add al, 0x68
xor al, 0x38
mov byte [ebp - 0x63], al
movzx eax, byte [ebp - 0xcc]
add al, 0x69
xor al, 0x31
mov byte [ebp - 0x62], al
movzx eax, byte [ebp - 0xcc]
add al, 0x6a
xor al, 0x32
mov byte [ebp - 0x61], al
movzx eax, byte [ebp - 0xcc]
add al, 0x6b
xor al, 0x44
mov byte [ebp - 0x60], al
movzx eax, byte [ebp - 0xcc]
add al, 0x6c
xor al, 0x32
mov byte [ebp - 0x5f], al
movzx eax, byte [ebp - 0xcc]
add al, 0x6d
xor al, 0x35
mov byte [ebp - 0x5e], al
movzx eax, byte [ebp - 0xcc]
add al, 0x6e
xor al, 0x41
mov byte [ebp - 0x5d], al
movzx eax, byte [ebp - 0xcc]
add al, 0x6f
xor al, 0x30
mov byte [ebp - 0x5c], al
movzx eax, byte [ebp - 0xcc]
add al, 0x70
xor al, 0x36
mov byte [ebp - 0x5b], al
movzx eax, byte [ebp - 0xcc]
add al, 0x71
xor al, 0x34
mov byte [ebp - 0x5a], al
movzx eax, byte [ebp - 0xcc]
add al, 0x72
xor al, 0x32
mov byte [ebp - 0x59], al
movzx eax, byte [ebp - 0xcc]
add al, 0x73
xor al, 0x30
mov byte [ebp - 0x58], al
movzx eax, byte [ebp - 0xcc]
add al, 0x74
xor al, 0x39
mov byte [ebp - 0x57], al
movzx eax, byte [ebp - 0xcc]
add al, 0x75
xor al, 0x46
mov byte [ebp - 0x56], al
movzx eax, byte [ebp - 0xcc]
add al, 0x76
xor al, 0x36
mov byte [ebp - 0x55], al
movzx eax, byte [ebp - 0xcc]
add al, 0x77
xor al, 0x41
mov byte [ebp - 0x54], al
movzx eax, byte [ebp - 0xcc]
add al, 0x78
xor al, 0x33
mov byte [ebp - 0x53], al
movzx eax, byte [ebp - 0xcc]
add al, 0x79
xor al, 0x37
mov byte [ebp - 0x52], al
movzx eax, byte [ebp - 0xcc]
add al, 0x7a
xor al, 0x43
mov byte [ebp - 0x51], al
movzx eax, byte [ebp - 0xcc]
add al, 0x7b
xor al, 0x34
mov byte [ebp - 0x50], al
movzx eax, byte [ebp - 0xcc]
add al, 0x7c
xor al, 0x42
mov byte [ebp - 0x4f], al
movzx eax, byte [ebp - 0xcc]
add al, 0x7d
xor al, 0x31
mov byte [ebp - 0x4e], al
movzx eax, byte [ebp - 0xcc]
add al, 0x7e
xor al, 0x34
mov byte [ebp - 0x4d], al
movzx eax, byte [ebp - 0xcc]
add al, 0x7f
xor al, 0x34
mov byte [ebp - 0x4c], al
movzx eax, byte [ebp - 0xcc]
add al, 0x80
xor al, 0x42
mov byte [ebp - 0x4b], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x7f
xor al, 0x31
mov byte [ebp - 0x4a], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x7e
xor al, 0x30
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x7d
xor al, 0x31
mov byte [ebp - 0x48], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x7c
xor al, 0x37
mov byte [ebp - 0x47], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x7b
xor al, 0x41
mov byte [ebp - 0x46], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x7a
xor al, 0x46
mov byte [ebp - 0x45], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x79
xor al, 0x31
mov byte [ebp - 0x44], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x78
xor al, 0x42
mov byte [ebp - 0x43], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x77
xor al, 0x37
mov byte [ebp - 0x42], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x76
xor al, 0x35
mov byte [ebp - 0x41], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x75
xor al, 0x39
mov byte [ebp - 0x40], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x74
xor al, 0x34
mov byte [ebp - 0x3f], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x73
xor al, 0x36
mov byte [ebp - 0x3e], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x72
xor al, 0x41
mov byte [ebp - 0x3d], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x71
xor al, 0x31
mov byte [ebp - 0x3c], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x70
xor al, 0x42
mov byte [ebp - 0x3b], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x6f
xor al, 0x44
mov byte [ebp - 0x3a], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x6e
xor al, 0x42
mov byte [ebp - 0x39], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x6d
xor al, 0x35
mov byte [ebp - 0x38], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x6c
xor al, 0x31
mov byte [ebp - 0x37], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x6b
xor al, 0x36
mov byte [ebp - 0x36], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x6a
xor al, 0x31
mov byte [ebp - 0x35], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x69
xor al, 0x41
mov byte [ebp - 0x34], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x68
xor al, 0x42
mov byte [ebp - 0x33], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x67
xor al, 0x32
mov byte [ebp - 0x32], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x66
xor al, 0x34
mov byte [ebp - 0x31], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x65
xor al, 0x31
mov byte [ebp - 0x30], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x64
xor al, 0x42
mov byte [ebp - 0x2f], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x63
xor al, 0x30
mov byte [ebp - 0x2e], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x62
xor al, 0x31
mov byte [ebp - 0x2d], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x61
xor al, 0x46
mov byte [ebp - 0x2c], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x60
xor al, 0x43
mov byte [ebp - 0x2b], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x5f
xor al, 0x42
mov byte [ebp - 0x2a], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x5e
xor al, 0x41
mov byte [ebp - 0x29], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x5d
xor al, 0x36
mov byte [ebp - 0x28], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x5c
xor al, 0x43
mov byte [ebp - 0x27], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x5b
xor al, 0x46
mov byte [ebp - 0x26], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x5a
xor al, 0x39
mov byte [ebp - 0x25], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x59
xor al, 0x32
mov byte [ebp - 0x24], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x58
xor al, 0x42
mov byte [ebp - 0x23], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x57
xor al, 0x36
mov byte [ebp - 0x22], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x56
xor al, 0x32
mov byte [ebp - 0x21], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x55
xor al, 0x44
mov byte [ebp - 0x20], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x54
xor al, 0x39
mov byte [ebp - 0x1f], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x53
xor al, 0x46
mov byte [ebp - 0x1e], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x52
xor al, 0x46
mov byte [ebp - 0x1d], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x51
xor al, 0x38
mov byte [ebp - 0x1c], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x50
xor al, 0x45
mov byte [ebp - 0x1b], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x4f
xor al, 0x37
mov byte [ebp - 0x1a], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x4e
xor al, 0x30
mov byte [ebp - 0x19], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x4d
xor al, 0x32
mov byte [ebp - 0x18], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x4c
xor al, 0x30
mov byte [ebp - 0x17], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x4b
xor al, 0x31
mov byte [ebp - 0x16], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x4a
xor al, 0x31
mov byte [ebp - 0x15], al
movzx eax, byte [ebp - 0xcc]
sub al, 0x49
mov byte [ebp - 0x13], 0
xor al, 0x31
mov byte [ebp - 0x14], al
mov al, byte [ebp - 0xcb]
mov byte [ebp - 0x12], 0
cmp byte [ebp - 0x12], 0
jne 0x48a174
mov byte [ebp - 0x12], 1
xor eax, eax
jmp 0x48a150
mov cl, byte [ebp + eax - 0xcb]
mov dl, byte [ebp - 0xcc]
add dl, al
xor dl, cl
mov byte [ebp + eax - 0xcb], dl
inc eax
cmp eax, 0xb8
jb 0x48a150
mov byte [ebp - 0x13], 0
lea eax, [ebp - 0xcb]
push eax
lea ecx, [esi + 0x18]
call fcn.0047d390
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049212c
mov esp, ebp
pop ebp
ret