Function at 0x4af840
Capabilities:
Authenticate hmac
Encode data using xor
Hash data using fnv
Parse pe header
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x64
mov eax, dword [0x4dc00c]
xor eax, esp
mov dword [esp + 0x5c], eax
cmp byte [0x4dc7c7], 0
push ebx
push ebp
push esi
push edi
mov edi, dword [0x4dc7c0]
je 0x4afe93
lea eax, [ecx - 0x334]
lea esi, [edx - 0x14]
cmp eax, 0x16
ja 0x4af89b
cmp esi, 0x14
ja 0x4af89b
mov dword [0x4dc7c0], 2
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b135a
lea eax, [ecx - 0x316]
cmp eax, 0x12
ja 0x4af8ce
cmp esi, 0x14
ja 0x4af8ce
push 0x7f00
push 0
mov dword [0x4dc7c0], 3
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b135a
lea eax, [ecx - 0x8f]
lea esi, [edx - 0x1a]
cmp eax, 0x114
ja 0x4af906
cmp esi, 0x28
ja 0x4af906
push 0x7f00
push 0
mov dword [0x4dc7c0], 4
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b135a
lea eax, [ecx - 0x1b2]
cmp eax, 0x28
ja 0x4af939
cmp esi, 0x28
ja 0x4af939
push 0x7f00
push 0
mov dword [0x4dc7c0], 5
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b135a
lea eax, [ecx - 0x204]
lea esi, [edx - 0x22]
cmp eax, 0x1a
ja 0x4af96f
cmp esi, 0x1a
ja 0x4af96f
push 0x7f00
push 0
mov dword [0x4dc7c0], 0x3f3
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b135a
lea eax, [ecx - 0x22f]
cmp eax, 0x1a
ja 0x4af9a2
cmp esi, 0x1a
ja 0x4af9a2
push 0x7f00
push 0
mov dword [0x4dc7c0], 0x3f4
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b135a
lea eax, [ecx - 0x25a]
cmp eax, 0x1a
ja 0x4af9d5
cmp esi, 0x1a
ja 0x4af9d5
push 0x7f00
push 0
mov dword [0x4dc7c0], 0x3f5
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b135a
lea eax, [ecx - 0x22]
add edx, 0xfffffe7c
cmp eax, 0xe6
ja 0x4afbcd
cmp edx, 0x28
ja 0x4afbcd
mov byte [esp + 0x10], 0x2b
mov al, 0x72
xor al, byte [esp + 0x10]
mov cl, 0x45
mov byte [esp + 0x11], al
mov dl, 0x6c
mov al, byte [esp + 0x10]
mov ah, 0x5e
xor cl, al
mov byte [esp + 0x22], 0x18
mov ch, 0x46
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x1a], 0
mov dh, 0x4e
mov byte [esp + 0x16], ch
xor dl, al
mov dword [0x4dc7c0], 0x3e9
xor ah, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x15], ah
mov bl, 0x5f
mov byte [esp + 0x17], dh
xor bl, al
mov byte [esp + 0x1a], 0
mov bh, 0x6e
mov byte [esp + 0x14], bl
xor bh, al
lea ecx, [esp + 0x24]
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afa72
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov dh, 0x6f
mov byte [esp + 0x17], 0
mov cl, 0x5d
mov byte [esp + 0x10], dh
mov dl, 0x3d
mov byte [esp + 0x17], 0
xor cl, dh
mov al, 0x20
mov bl, 0x37
mov byte [esp + 0x12], cl
mov ah, 0x3e
mov ch, 0x2c
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x13], dl
xor ah, dh
mov byte [esp + 0x11], al
xor ch, dh
mov byte [esp + 0x14], bl
mov byte [esp + 0x16], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x15], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afad1
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
mov cl, 0x7e
mov dword [esp + 0x10], 0x1d4b1c7e
mov dword [esp + 0x14], 0x38361313
xor eax, eax
mov dword [esp + 0x18], 0xb39484b
mov byte [esp + 0x1c], 0
nop word [eax + eax]
xor byte [esp + eax + 0x11], cl
inc eax
cmp eax, 0xb
jae 0x4afb20
mov cl, byte [esp + 0x10]
jmp 0x4afb10
lea eax, [esp + 0x11]
mov byte [esp + 0x1c], 0
push eax
lea ecx, [esp + 0x28]
call fcn.004b8bf0
test al, al
je 0x4afbab
mov byte [esp + 0x10], 0x18
mov al, 0x5d
xor al, byte [esp + 0x10]
mov cl, 0x42
mov ch, 0x21
mov byte [esp + 0x11], al
mov al, byte [esp + 0x10]
mov dl, 0x48
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov dh, 0x6f
mov byte [esp + 0x16], ch
mov bl, 0x2a
mov byte [esp + 0x19], 0
mov ah, 0x60
lea ecx, [esp + 0x11]
xor dl, al
xor dh, al
mov bh, 0x70
mov byte [esp + 0x13], dl
xor bl, al
mov byte [esp + 0x17], dh
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov byte [esp + 0x18], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afb93
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
lea ecx, [esp + 0x24]
call fcn.004b7770
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b135a
lea eax, [ecx - 0x13b]
cmp eax, 0xe6
ja 0x4afe6a
cmp edx, 0x28
ja 0x4afe6a
mov byte [esp + 0x10], 0x12
mov al, 0x55
xor al, byte [esp + 0x10]
mov ah, 0x47
mov ch, ah
mov byte [esp + 0x11], al
mov al, byte [esp + 0x10]
mov dl, 0x2a
mov cl, 0x65
mov byte [esp + 0x19], 0
mov bl, dl
mov dword [0x4dc7c0], 0x3ea
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov dh, 0x7c
mov byte [esp + 0x16], ch
mov bh, 0x4a
lea ecx, [esp + 0x3c]
xor dl, al
xor bl, al
xor ah, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov byte [esp + 0x17], dh
mov byte [esp + 0x18], bh
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afc56
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b8860
mov byte [esp + 0x10], 0x6c
mov al, 0x14
xor al, byte [esp + 0x10]
mov cl, 0x22
mov byte [esp + 0x11], al
mov dl, 1
mov al, byte [esp + 0x10]
mov ah, 0x55
xor cl, al
mov byte [esp + 0x22], 0x2d
mov ch, 0x3a
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x1a], 0
mov dh, 6
mov byte [esp + 0x16], ch
xor dl, al
mov byte [esp + 0x1a], 0
xor ah, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x15], ah
mov bl, 3
mov byte [esp + 0x17], dh
xor bl, al
lea ecx, [esp + 0x24]
mov bh, 0x1f
mov byte [esp + 0x14], bl
xor bh, al
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afce4
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov byte [esp + 0x10], 0x20
mov al, 0x46
xor al, byte [esp + 0x10]
mov ch, 0x6a
mov cl, 0x43
mov byte [esp + 0x11], al
mov al, byte [esp + 0x10]
mov bh, ch
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov dl, 0x11
mov byte [esp + 0x16], ch
mov dh, 0x53
mov byte [esp + 0x19], 0
mov bl, 0x78
lea ecx, [esp + 0x11]
mov ah, 0x6b
xor dl, al
xor dh, al
mov byte [esp + 0x13], dl
xor bl, al
mov byte [esp + 0x17], dh
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov byte [esp + 0x18], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afd58
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
mov bh, 0x67
mov byte [esp + 0x18], 0
mov cl, 0x1d
mov byte [esp + 0x10], bh
mov dl, 4
mov byte [esp + 0x18], 0
mov ch, 5
mov dh, 0x10
xor cl, bh
xor dl, bh
xor ch, bh
mov byte [esp + 0x12], cl
xor dh, bh
mov byte [esp + 0x13], dl
mov al, 0x55
mov byte [esp + 0x16], ch
mov bl, 3
mov byte [esp + 0x17], dh
mov ah, 0x52
lea edx, [esp + 0x24]
xor al, bh
lea ecx, [esp + 0x11]
xor ah, bh
mov byte [esp + 0x11], al
xor bl, bh
mov byte [esp + 0x15], ah
mov byte [esp + 0x14], bl
call fcn.004b8560
test al, al
je 0x4afe58
mov byte [esp + 0x10], 0x5f
mov al, 0x14
xor al, byte [esp + 0x10]
mov cl, 0x19
mov byte [esp + 0x11], al
mov dl, 0x32
mov al, byte [esp + 0x10]
mov ch, 0x1e
mov dh, 0x29
mov byte [esp + 0x22], 5
xor cl, al
mov byte [esp + 0x1a], 0
xor dl, al
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x16], ch
mov bl, 0x3b
mov byte [esp + 0x17], dh
mov ah, 0x6c
mov byte [esp + 0x1a], 0
mov bh, 0x10
lea ecx, [esp + 0x11]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afe40
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b7e00
lea ecx, [esp + 0x24]
call fcn.004b7770
lea ecx, [esp + 0x3c]
jmp 0x4afbaf
lea eax, [ecx - 0x254]
cmp eax, 0xe6
ja 0x4b133c
cmp edx, 0x28
ja 0x4b133c
mov dword [0x4dc7c0], 0x3eb
jmp 0x4afbb4
lea esi, [ecx - 0x28]
cmp esi, 0x140
ja 0x4b0110
cmp edx, 0x1c1
jl 0x4b0110
cmp edx, 0x1f5
jg 0x4b0110
mov dh, 0x79
mov byte [esp + 0x17], 0
mov cl, 0x3e
mov byte [esp + 0x10], dh
mov ch, 0x4b
mov byte [esp + 0x17], 0
xor cl, dh
xor ch, dh
mov al, 0x23
mov byte [esp + 0x12], cl
mov dl, 0x1b
mov byte [esp + 0x16], ch
mov ah, 0x41
lea ecx, [esp + 0x3c]
mov bl, 0x3d
xor al, dh
xor dl, dh
mov byte [esp + 0x11], al
xor bl, dh
mov byte [esp + 0x13], dl
xor ah, dh
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], ah
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4aff10
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b8860
mov bh, 0x1e
mov byte [esp + 0x18], 0
mov cl, 0x52
mov byte [esp + 0x10], bh
mov ch, 0x74
mov byte [esp + 0x18], 0
xor cl, bh
xor ch, bh
mov al, 0x2b
mov byte [esp + 0x12], cl
mov dl, 0x57
mov byte [esp + 0x16], ch
mov ah, 0x29
lea ecx, [esp + 0x24]
mov dh, 0x53
mov bl, 0x58
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x11], al
xor ah, bh
mov byte [esp + 0x13], dl
xor dh, bh
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], ah
mov byte [esp + 0x17], dh
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4aff80
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov byte [esp + 0x10], 0x49
mov al, 0x2e
xor al, byte [esp + 0x10]
mov cl, 0x78
mov ch, 0xa
mov byte [esp + 0x11], al
mov al, byte [esp + 0x10]
mov dl, 5
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov dh, 0x26
mov byte [esp + 0x16], ch
mov bl, 6
mov byte [esp + 0x19], 0
mov ah, 0x1e
lea ecx, [esp + 0x11]
xor dl, al
xor dh, al
mov bh, 0x20
mov byte [esp + 0x13], dl
xor bl, al
mov byte [esp + 0x17], dh
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov byte [esp + 0x18], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afff4
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
mov bh, 0x3a
mov byte [esp + 0x18], 0
mov al, 0x6a
mov byte [esp + 0x10], bh
mov ah, 0xc
mov byte [esp + 0x18], 0
xor al, bh
xor ah, bh
mov cl, 0x5b
mov byte [esp + 0x11], al
mov ch, 0x7b
mov byte [esp + 0x15], ah
xor cl, bh
lea eax, [esp + 0x11]
xor ch, bh
mov byte [esp + 0x12], cl
mov dl, 0xe
mov byte [esp + 0x16], ch
mov dh, 0x73
lea ecx, [esp + 0x24]
mov bl, 0x76
xor dl, bh
xor dh, bh
mov byte [esp + 0x13], dl
xor bl, bh
mov byte [esp + 0x17], dh
push eax
mov byte [esp + 0x18], bl
call fcn.004b8bf0
test al, al
je 0x4b00ef
mov byte [esp + 0x10], 0xd
mov al, 0x60
xor al, byte [esp + 0x10]
mov cl, 0x40
mov byte [esp + 0x11], al
mov dl, 0x65
mov al, byte [esp + 0x10]
mov ch, 0x7c
mov dh, 0x5f
mov byte [esp + 0x22], 0x4e
xor cl, al
mov byte [esp + 0x1a], 0
xor dl, al
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x16], ch
mov bl, 0x35
mov byte [esp + 0x17], dh
mov ah, 0x77
mov byte [esp + 0x1a], 0
mov bh, 0x57
lea ecx, [esp + 0x11]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b00d7
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b7f90
lea ecx, [esp + 0x24]
call fcn.004b7770
lea ecx, [esp + 0x3c]
call fcn.004b7770
mov dword [0x4dc7c0], 1
jmp 0x4afbb4
lea eax, [ecx - 0x168]
cmp eax, 0x16
ja 0x4b0127
lea eax, [edx - 0x14]
cmp eax, 0x14
jbe 0x4af878
lea eax, [ecx - 0x14a]
cmp eax, 0x12
ja 0x4b0305
cmp edx, 0x14
jl 0x4b0305
cmp edx, 0x28
jg 0x4b0305
mov bh, 0x11
mov byte [esp + 0x18], 0
mov cl, 0x67
mov byte [esp + 0x10], bh
mov dh, cl
mov byte [esp + 0x18], 0
mov ch, 0x7b
xor cl, bh
xor ch, bh
mov byte [esp + 0x12], cl
mov al, 0x68
mov byte [esp + 0x16], ch
mov dl, 0x5d
lea ecx, [esp + 0x24]
mov ah, 0x7e
mov bl, 0x60
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x11], al
xor ah, bh
mov byte [esp + 0x13], dl
xor dh, bh
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], ah
mov byte [esp + 0x17], dh
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b01a0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov bh, 0x3e
mov byte [esp + 0x18], 0
mov cl, 8
mov byte [esp + 0x10], bh
mov ch, 0x78
mov byte [esp + 0x18], 0
mov dl, 0x54
xor cl, bh
xor ch, bh
mov byte [esp + 0x12], cl
mov al, 0x5c
mov byte [esp + 0x16], ch
mov bl, 0x5b
lea ecx, [esp + 0x11]
mov ah, 0xf
mov dh, 0x51
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x13], dl
xor ah, bh
mov byte [esp + 0x11], al
xor dh, bh
mov byte [esp + 0x14], bl
mov byte [esp + 0x17], dh
lea edx, [ecx + 1]
mov byte [esp + 0x15], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0207
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
mov bh, 0x1c
mov byte [esp + 0x18], 0
mov al, 0x25
mov byte [esp + 0x10], bh
mov ah, 0x6a
mov byte [esp + 0x18], 0
xor al, bh
xor ah, bh
mov cl, 0x52
mov byte [esp + 0x11], al
mov ch, 0x4b
mov byte [esp + 0x15], ah
xor cl, bh
lea eax, [esp + 0x11]
xor ch, bh
mov byte [esp + 0x12], cl
mov dl, 0x7e
mov byte [esp + 0x16], ch
mov dh, 0x64
lea ecx, [esp + 0x24]
mov bl, 0x71
xor dl, bh
xor dh, bh
mov byte [esp + 0x13], dl
xor bl, bh
mov byte [esp + 0x17], dh
push eax
mov byte [esp + 0x18], bl
call fcn.004b8bf0
test al, al
je 0x4b02ed
mov byte [esp + 0x10], 1
mov al, 0x31
xor al, byte [esp + 0x10]
mov cl, 0x72
mov ch, 0x71
mov byte [esp + 0x11], al
mov al, byte [esp + 0x10]
mov dl, 0x7b
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov dh, 0x32
mov byte [esp + 0x16], ch
mov bl, 0x6a
mov byte [esp + 0x19], 0
mov ah, 0x6d
lea ecx, [esp + 0x11]
xor dl, al
xor dh, al
mov bh, 0x6f
mov byte [esp + 0x13], dl
xor bl, al
mov byte [esp + 0x17], dh
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov byte [esp + 0x18], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b02d5
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
lea ecx, [esp + 0x24]
call fcn.004b7770
mov dword [0x4dc7c0], 3
jmp 0x4af882
lea eax, [ecx - 0x145]
cmp eax, 0x13
ja 0x4b0589
cmp edx, 0x11d
jl 0x4b0589
cmp edx, 0x12c
jg 0x4b0589
mov bh, 0x24
mov byte [esp + 0x18], 0
mov cl, 0x5d
mov byte [esp + 0x10], bh
mov ch, 0x63
mov byte [esp + 0x18], 0
xor cl, bh
xor ch, bh
mov al, 0x43
mov byte [esp + 0x12], cl
mov dl, 0x74
mov byte [esp + 0x16], ch
mov ah, 0x15
lea ecx, [esp + 0x3c]
mov dh, 0x40
mov bl, 0x68
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x11], al
xor ah, bh
mov byte [esp + 0x13], dl
xor dh, bh
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], ah
mov byte [esp + 0x17], dh
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0384
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b8860
mov byte [esp + 0x10], 0x32
mov al, 0x58
xor al, byte [esp + 0x10]
mov cl, 0x43
mov byte [esp + 0x11], al
mov dl, 0x54
mov al, byte [esp + 0x10]
mov ah, 0x77
xor cl, al
mov byte [esp + 0x22], 0x6a
mov ch, 0x40
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x1a], 0
mov dh, 0x41
mov byte [esp + 0x16], ch
xor dl, al
mov byte [esp + 0x1a], 0
xor ah, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x15], ah
mov bl, 0x7c
mov byte [esp + 0x17], dh
xor bl, al
lea ecx, [esp + 0x24]
mov bh, 0x51
mov byte [esp + 0x14], bl
xor bh, al
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0412
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov byte [esp + 0x10], 0x60
mov al, 0x21
xor al, byte [esp + 0x10]
mov cl, 0x56
mov byte [esp + 0x11], al
mov dl, 0x15
mov al, byte [esp + 0x10]
mov ch, 0x2e
mov dh, 0x1a
mov byte [esp + 0x22], 0x11
xor cl, al
mov byte [esp + 0x1a], 0
xor dl, al
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x16], ch
mov bl, 0x26
mov byte [esp + 0x17], dh
mov ah, 0x34
mov byte [esp + 0x1a], 0
mov bh, 0xc
lea ecx, [esp + 0x11]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0497
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
mov bh, 0xf
mov byte [esp + 0x18], 0
mov al, 0x7d
mov byte [esp + 0x10], bh
mov ah, 0x6e
mov byte [esp + 0x18], 0
xor al, bh
xor ah, bh
mov cl, 0x36
mov byte [esp + 0x11], al
mov ch, 0x4c
mov byte [esp + 0x15], ah
xor cl, bh
lea eax, [esp + 0x11]
xor ch, bh
mov byte [esp + 0x12], cl
mov dl, 0x44
mov byte [esp + 0x16], ch
mov dh, 0x37
lea ecx, [esp + 0x24]
mov bl, 0x7e
xor dl, bh
xor dh, bh
mov byte [esp + 0x13], dl
xor bl, bh
mov byte [esp + 0x17], dh
push eax
mov byte [esp + 0x18], bl
call fcn.004b8bf0
test al, al
je 0x4b0568
mov dh, 0x6f
mov byte [esp + 0x17], 0
mov cl, 0x3b
mov byte [esp + 0x10], dh
mov dl, 0x20
mov byte [esp + 0x17], 0
xor cl, dh
mov al, 9
mov bl, 2
mov byte [esp + 0x12], cl
mov ah, 0x2c
mov ch, 0xd
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x13], dl
xor ah, dh
mov byte [esp + 0x11], al
xor ch, dh
mov byte [esp + 0x14], bl
mov byte [esp + 0x16], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x15], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0550
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b7f90
lea ecx, [esp + 0x24]
call fcn.004b7770
lea ecx, [esp + 0x3c]
call fcn.004b7770
mov dword [0x4dc7c0], 4
jmp 0x4af882
lea eax, [ecx - 0x147]
cmp eax, 0x13
ja 0x4b077f
cmp edx, 0x15d
jl 0x4b077f
cmp edx, 0x16c
jg 0x4b077f
mov byte [esp + 0x10], 0x1c
mov al, 0x51
xor al, byte [esp + 0x10]
mov cl, 0x50
mov byte [esp + 0x11], al
mov ch, 0x7d
mov al, byte [esp + 0x10]
mov dl, 0x58
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov ah, 0x66
mov byte [esp + 0x16], ch
mov dh, 0x4a
mov byte [esp + 0x19], 0
mov bl, 0x79
lea ecx, [esp + 0x3c]
mov bh, 0x5a
xor dl, al
xor bl, al
mov byte [esp + 0x13], dl
xor ah, al
mov byte [esp + 0x14], bl
xor dh, al
mov byte [esp + 0x15], ah
xor bh, al
mov byte [esp + 0x17], dh
mov byte [esp + 0x18], bh
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0615
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b8860
mov bh, 0x12
mov byte [esp + 0x18], 0
mov cl, 0x5d
mov byte [esp + 0x10], bh
mov ch, 0x23
mov byte [esp + 0x18], 0
xor cl, bh
xor ch, bh
mov al, 0x67
mov byte [esp + 0x12], cl
mov dl, 0x5a
mov byte [esp + 0x16], ch
mov ah, 0x76
lea ecx, [esp + 0x24]
mov dh, 0x7c
mov bl, 0x70
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x11], al
xor ah, bh
mov byte [esp + 0x13], dl
xor dh, bh
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], ah
mov byte [esp + 0x17], dh
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0685
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov bh, 0x51
mov byte [esp + 0x18], 0
mov al, 0x3d
mov byte [esp + 0x10], bh
mov ah, 0x20
mov byte [esp + 0x18], 0
xor al, bh
xor ah, bh
mov cl, 0x1a
mov byte [esp + 0x11], al
mov ch, 0x23
mov byte [esp + 0x15], ah
xor cl, bh
lea eax, [esp + 0x11]
xor ch, bh
mov byte [esp + 0x12], cl
mov dl, 0x25
mov byte [esp + 0x16], ch
mov dh, 8
lea ecx, [esp + 0x24]
mov bl, 0x2b
xor dl, bh
xor dh, bh
mov byte [esp + 0x13], dl
xor bl, bh
mov byte [esp + 0x17], dh
push eax
mov byte [esp + 0x18], bl
call fcn.004b8bf0
test al, al
je 0x4b075e
mov bh, 0x43
mov byte [esp + 0x18], 0
mov al, 0xa
mov byte [esp + 0x10], bh
mov cl, 0x71
mov byte [esp + 0x18], 0
mov ch, 0x28
mov dl, 0x73
mov dh, al
xor cl, bh
xor ch, bh
mov byte [esp + 0x12], cl
mov bl, 0x11
mov byte [esp + 0x16], ch
mov ah, 8
lea ecx, [esp + 0x11]
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x13], dl
xor ah, bh
mov byte [esp + 0x11], al
xor dh, bh
mov byte [esp + 0x14], bl
mov byte [esp + 0x17], dh
lea edx, [ecx + 1]
mov byte [esp + 0x15], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0746
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7e00
lea ecx, [esp + 0x24]
call fcn.004b7770
lea ecx, [esp + 0x3c]
call fcn.004b7770
mov dword [0x4dc7c0], 5
jmp 0x4af882
lea eax, [ecx - 0x97]
cmp eax, 0x14
ja 0x4b09a0
cmp edx, 0x22b
jl 0x4b09a0
cmp edx, 0x23f
jg 0x4b09a0
mov byte [esp + 0x10], 0x74
mov al, 0x20
xor al, byte [esp + 0x10]
mov dl, 0x1d
mov byte [esp + 0x11], al
mov ch, dl
mov al, byte [esp + 0x10]
mov cl, 0x18
xor cl, al
mov byte [esp + 0x22], 0xd
xor ch, al
mov byte [esp + 0x12], cl
mov ah, 5
mov byte [esp + 0x16], ch
mov dh, 1
mov byte [esp + 0x1a], 0
xor dl, al
mov byte [esp + 0x1a], 0
xor ah, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x15], ah
mov bl, 0x24
mov byte [esp + 0x17], dh
xor bl, al
lea ecx, [esp + 0x24]
mov bh, 0x46
mov byte [esp + 0x14], bl
xor bh, al
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0820
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov bh, 0x38
mov byte [esp + 0x18], 0
mov cl, 0x57
mov byte [esp + 0x10], bh
mov bl, 0x6b
mov byte [esp + 0x18], 0
mov ch, 0x5e
mov dl, 0xc
mov dh, bl
xor cl, bh
xor ch, bh
mov byte [esp + 0x12], cl
mov al, 0xa
mov byte [esp + 0x16], ch
mov ah, 0x6c
lea ecx, [esp + 0x11]
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x13], dl
xor ah, bh
mov byte [esp + 0x11], al
xor dh, bh
mov byte [esp + 0x14], bl
mov byte [esp + 0x17], dh
lea edx, [ecx + 1]
mov byte [esp + 0x15], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0887
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
mov bh, 0x25
mov byte [esp + 0x18], 0
mov al, 0x66
mov byte [esp + 0x10], bh
mov cl, 0x55
mov byte [esp + 0x18], 0
mov ah, 0x52
mov dl, cl
xor al, bh
xor ah, bh
mov ch, 0x4e
mov byte [esp + 0x11], al
xor cl, bh
mov byte [esp + 0x15], ah
xor ch, bh
mov byte [esp + 0x12], cl
mov dh, 0x73
mov byte [esp + 0x16], ch
mov bl, 0x68
lea eax, [esp + 0x11]
xor dl, bh
lea ecx, [esp + 0x24]
xor dh, bh
mov byte [esp + 0x13], dl
xor bl, bh
mov byte [esp + 0x17], dh
push eax
mov byte [esp + 0x18], bl
call fcn.004b8bf0
test al, al
je 0x4b0988
mov byte [esp + 0x10], 0x13
mov al, 0x65
xor al, byte [esp + 0x10]
mov cl, 0x7a
mov byte [esp + 0x11], al
mov dl, 0x56
mov al, byte [esp + 0x10]
mov ch, 0x5a
mov dh, 0x5d
mov byte [esp + 0x22], 0x26
xor cl, al
mov byte [esp + 0x1a], 0
xor dl, al
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x16], ch
mov bl, 0x78
mov byte [esp + 0x17], dh
mov ah, 0x63
mov byte [esp + 0x1a], 0
mov bh, 0x7f
lea ecx, [esp + 0x11]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0970
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
lea ecx, [esp + 0x24]
call fcn.004b7770
mov dword [0x4dc7c0], 0x3e9
jmp 0x4af882
lea eax, [ecx - 0xbf]
cmp eax, 0x14
ja 0x4b09c5
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b09c5
mov dword [0x4dc7c0], 0x3ea
jmp 0x4af882
lea eax, [ecx - 0xe7]
cmp eax, 0x14
ja 0x4b0b65
cmp edx, 0x22b
jl 0x4b0b65
cmp edx, 0x23f
jg 0x4b0b65
mov byte [esp + 0x10], 0x2f
mov al, 0x43
xor al, byte [esp + 0x10]
mov cl, 0x19
mov byte [esp + 0x11], al
mov bh, cl
mov al, byte [esp + 0x10]
mov dl, 0x1c
xor cl, al
mov byte [esp + 0x22], 0x40
mov ah, 0x7d
mov byte [esp + 0x12], cl
mov ch, 0x5b
mov byte [esp + 0x1a], 0
xor ch, al
mov byte [esp + 0x1a], 0
mov dh, 0x1a
mov byte [esp + 0x16], ch
xor dl, al
lea ecx, [esp + 0x24]
xor ah, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x15], ah
xor bh, al
mov byte [esp + 0x17], dh
mov bl, 0x5c
mov byte [esp + 0x18], bh
xor bl, al
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x14], bl
mov byte [esp + 0x19], al
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0a62
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov dh, 0x5e
mov byte [esp + 0x17], 0
mov cl, 0x67
mov byte [esp + 0x10], dh
mov dl, 0x3c
mov byte [esp + 0x17], 0
xor cl, dh
mov al, 0x1b
mov bl, 0x31
mov byte [esp + 0x12], cl
mov ah, 0x3b
mov ch, 0x18
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x13], dl
xor ah, dh
mov byte [esp + 0x11], al
xor ch, dh
mov byte [esp + 0x14], bl
mov byte [esp + 0x16], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x15], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0ac1
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
mov al, 0x34
mov byte [esp + 0x10], 0x53
mov dl, al
mov byte [esp + 0x19], 0
xor al, byte [esp + 0x10]
mov cl, 0x35
mov ch, 0x6b
mov byte [esp + 0x11], al
mov al, byte [esp + 0x10]
mov dh, 0x1d
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov bl, 0x12
mov byte [esp + 0x16], ch
mov ah, 0x2a
lea ecx, [esp + 0x11]
xor dl, al
xor dh, al
mov bh, 0x11
mov byte [esp + 0x13], dl
xor bl, al
mov byte [esp + 0x17], dh
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov byte [esp + 0x18], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0b35
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
lea ecx, [esp + 0x24]
call fcn.004b7770
mov dword [0x4dc7c0], 0x3eb
jmp 0x4af882
cmp ecx, 0x28
jl 0x4b103d
cmp ecx, 0x168
jg 0x4b103d
cmp edx, 0x109
jl 0x4b0dff
cmp edx, 0x13f
jg 0x4b0dff
mov byte [esp + 0x10], 0x6f
mov al, 0x3c
xor al, byte [esp + 0x10]
mov cl, 0x58
mov byte [esp + 0x11], al
mov dl, 0x20
mov al, byte [esp + 0x10]
mov ah, 0x5c
xor cl, al
mov byte [esp + 0x22], 0x59
mov ch, 0x23
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x1a], 0
mov dh, 0x1c
mov byte [esp + 0x16], ch
xor dl, al
mov byte [esp + 0x1a], 0
xor ah, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x15], ah
mov bl, 7
mov byte [esp + 0x17], dh
xor bl, al
lea ecx, [esp + 0x3c]
mov bh, 0x3d
mov byte [esp + 0x14], bl
xor bh, al
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0c08
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b8860
mov dh, 0x46
mov byte [esp + 0x17], 0
mov cl, 0x7e
mov byte [esp + 0x10], dh
mov ch, 0x31
mov byte [esp + 0x17], 0
xor cl, dh
xor ch, dh
mov al, 0x75
mov byte [esp + 0x12], cl
mov dl, 0x22
mov byte [esp + 0x16], ch
mov ah, 0x24
lea ecx, [esp + 0x24]
mov bl, 4
xor al, dh
xor dl, dh
mov byte [esp + 0x11], al
xor bl, dh
mov byte [esp + 0x13], dl
xor ah, dh
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], ah
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0c70
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov dh, 0x12
mov byte [esp + 0x17], 0
mov cl, 0x58
mov byte [esp + 0x10], dh
mov dl, 0x5a
mov byte [esp + 0x17], 0
xor cl, dh
mov al, 0x6a
mov bl, 0x7e
mov byte [esp + 0x12], cl
mov ah, 0x61
mov ch, 0x74
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x13], dl
xor ah, dh
mov byte [esp + 0x11], al
xor ch, dh
mov byte [esp + 0x14], bl
mov byte [esp + 0x16], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x15], ah
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0cd0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
mov bh, 0x6b
mov byte [esp + 0x18], 0
mov dl, 0x52
mov byte [esp + 0x10], bh
mov ch, dl
mov byte [esp + 0x18], 0
mov al, 0xe
mov dh, 0x21
mov cl, al
xor dl, bh
xor cl, bh
mov byte [esp + 0x13], dl
xor ch, bh
mov byte [esp + 0x12], cl
xor dh, bh
mov byte [esp + 0x16], ch
mov bl, 8
mov byte [esp + 0x17], dh
mov ah, 0x11
lea edx, [esp + 0x24]
xor al, bh
lea ecx, [esp + 0x11]
xor ah, bh
mov byte [esp + 0x11], al
xor bl, bh
mov byte [esp + 0x15], ah
mov byte [esp + 0x14], bl
call fcn.004b8560
test al, al
je 0x4b0dca
mov byte [esp + 0x10], 0x5b
mov al, 0x33
xor al, byte [esp + 0x10]
mov cl, 2
mov dh, cl
mov byte [esp + 0x11], al
mov al, byte [esp + 0x10]
mov dl, 0x62
mov ch, 0x32
mov byte [esp + 0x22], 0x28
xor cl, al
mov byte [esp + 0x1a], 0
xor dl, al
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x16], ch
mov bl, 0x23
mov byte [esp + 0x17], dh
mov ah, 0x6a
mov byte [esp + 0x1a], 0
mov bh, 0x30
lea ecx, [esp + 0x11]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0db2
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b7e00
lea ecx, [esp + 0x24]
call fcn.004b7770
lea ecx, [esp + 0x3c]
call fcn.004b7770
push 0x7f01
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4dc7c0], 0x7d1
jmp 0x4b135a
cmp edx, 0x149
jl 0x4b103d
cmp edx, 0x17f
jg 0x4b103d
mov byte [esp + 0x10], 0x25
mov al, 0x62
xor al, byte [esp + 0x10]
mov cl, 0x1c
mov byte [esp + 0x11], al
mov ch, 0x75
mov al, byte [esp + 0x10]
mov dl, 0x4d
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov ah, 0x77
mov byte [esp + 0x16], ch
mov dh, 0x63
mov byte [esp + 0x19], 0
mov bl, 0x14
lea ecx, [esp + 0x3c]
mov bh, 0x7f
xor dl, al
xor bl, al
mov byte [esp + 0x13], dl
xor ah, al
mov byte [esp + 0x14], bl
xor dh, al
mov byte [esp + 0x15], ah
xor bh, al
mov byte [esp + 0x17], dh
mov byte [esp + 0x18], bh
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0e80
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b8860
mov byte [esp + 0x10], 6
mov al, 0x57
xor al, byte [esp + 0x10]
mov cl, 0x40
mov byte [esp + 0x11], al
mov dl, 0x65
mov al, byte [esp + 0x10]
mov ah, 0x64
xor cl, al
mov byte [esp + 0x22], 0x51
mov ch, 0x33
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x1a], 0
mov dh, 0x3e
mov byte [esp + 0x16], ch
xor dl, al
mov byte [esp + 0x1a], 0
xor ah, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x15], ah
mov bl, 0x41
mov byte [esp + 0x17], dh
xor bl, al
lea ecx, [esp + 0x24]
mov bh, 0x43
mov byte [esp + 0x14], bl
xor bh, al
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0f10
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov byte [esp + 0x10], 3
mov al, 0x4f
xor al, byte [esp + 0x10]
mov cl, 0x45
mov byte [esp + 0x11], al
mov ah, 0x31
mov al, byte [esp + 0x10]
mov ch, cl
xor ah, al
mov byte [esp + 0x19], 0
mov dl, 0x44
mov byte [esp + 0x15], ah
mov dh, 0x61
mov byte [esp + 0x19], 0
xor cl, al
xor ch, al
mov bl, 0x71
mov byte [esp + 0x12], cl
mov bh, 0x55
mov byte [esp + 0x16], ch
xor dl, al
lea ecx, [esp + 0x24]
xor bl, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x17], dh
lea eax, [esp + 0x11]
mov byte [esp + 0x18], bh
push eax
call fcn.004b8bf0
test al, al
je 0x4b1008
mov byte [esp + 0x10], 0x10
mov al, 0x5f
xor al, byte [esp + 0x10]
mov cl, 0x72
mov ch, 0x24
mov byte [esp + 0x11], al
mov al, byte [esp + 0x10]
mov dl, 0x64
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov dh, 0x74
mov byte [esp + 0x16], ch
mov bl, 0x26
mov byte [esp + 0x19], 0
mov ah, 0x5c
lea ecx, [esp + 0x11]
xor dl, al
xor dh, al
mov bh, 0x27
mov byte [esp + 0x13], dl
xor bl, al
mov byte [esp + 0x17], dh
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov byte [esp + 0x18], bh
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0ff0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7e00
lea ecx, [esp + 0x24]
call fcn.004b7770
lea ecx, [esp + 0x3c]
call fcn.004b7770
push 0x7f01
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4dc7c0], 0x7d2
jmp 0x4b135a
lea eax, [ecx - 0x46]
cmp eax, 0x104
ja 0x4b12f9
cmp edx, 0x1f7
jl 0x4b12f9
cmp edx, 0x20f
jg 0x4b12f9
mov byte [esp + 0x10], 0x26
mov al, 0x16
xor al, byte [esp + 0x10]
mov cl, 0x57
xor cl, byte [esp + 0x10]
mov ch, 0x52
mov byte [esp + 0x11], al
mov dl, 0x11
mov byte [esp + 0x12], cl
mov ah, 0x13
mov cl, byte [esp + 0x10]
mov dh, 0x74
mov byte [esp + 0x22], 0x15
xor ch, cl
mov al, byte [esp + 0x22]
mov bl, 0x10
xor al, cl
mov byte [esp + 0x23], 0x72
mov byte [esp + 0x19], al
mov bh, 0x6d
mov al, byte [esp + 0x23]
xor dl, cl
xor bl, cl
mov byte [esp + 0x16], ch
xor ah, cl
mov byte [esp + 0x1b], 0
xor dh, cl
mov byte [esp + 0x13], dl
xor bh, cl
mov byte [esp + 0x14], bl
xor al, cl
mov byte [esp + 0x15], ah
lea ecx, [esp + 0x54]
mov byte [esp + 0x17], dh
mov byte [esp + 0x18], bh
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], 0
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b10e8
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.004b8860
mov al, 0x77
mov byte [esp + 0x10], 0x33
mov bh, al
mov byte [esp + 0x19], 0
xor al, byte [esp + 0x10]
mov cl, 0x79
mov byte [esp + 0x11], al
mov ch, 0x51
mov al, byte [esp + 0x10]
mov dl, 0x74
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov ah, 0x54
mov byte [esp + 0x16], ch
mov dh, 0x6b
lea ecx, [esp + 0x3c]
mov bl, 0x7b
xor dl, al
xor bl, al
mov byte [esp + 0x13], dl
xor ah, al
mov byte [esp + 0x14], bl
xor dh, al
mov byte [esp + 0x15], ah
xor bh, al
mov byte [esp + 0x17], dh
mov byte [esp + 0x18], bh
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1165
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b8860
mov byte [esp + 0x10], 0x3f
mov al, 0x4f
xor al, byte [esp + 0x10]
mov ch, 0x6f
mov byte [esp + 0x11], al
mov cl, 0x72
mov al, byte [esp + 0x10]
mov dl, 0x78
xor cl, al
mov byte [esp + 0x23], ch
xor ch, al
mov byte [esp + 0x12], cl
xor dl, al
mov byte [esp + 0x16], ch
mov ah, 7
mov byte [esp + 0x1a], 0
xor ah, al
mov byte [esp + 0x13], dl
mov dh, 0x70
mov byte [esp + 0x15], ah
xor dh, al
mov byte [esp + 0x1a], 0
mov bl, 0x74
mov byte [esp + 0x17], dh
xor bl, al
lea ecx, [esp + 0x3c]
mov bh, 9
mov byte [esp + 0x14], bl
xor bh, al
mov al, byte [esp + 0x23]
xor al, byte [esp + 0x10]
mov byte [esp + 0x19], al
lea eax, [esp + 0x11]
push eax
mov byte [esp + 0x1c], bh
call fcn.004b8bf0
test al, al
je 0x4b12d8
mov byte [esp + 0x10], 0x77
mov al, 0x24
xor al, byte [esp + 0x10]
mov ah, 0x31
mov byte [esp + 0x11], al
mov cl, 7
mov al, byte [esp + 0x10]
mov dl, 3
xor ah, al
mov byte [esp + 0x19], 0
mov ch, 0xf
mov byte [esp + 0x15], ah
mov dh, 0x43
mov byte [esp + 0x19], 0
xor cl, al
xor ch, al
mov bl, 0x14
mov byte [esp + 0x12], cl
mov bh, 0x11
mov byte [esp + 0x16], ch
xor dl, al
lea ecx, [esp + 0x24]
xor bl, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x17], dh
lea eax, [esp + 0x11]
mov byte [esp + 0x18], bh
push eax
call fcn.004b7800
mov byte [esp + 0x10], 0x21
mov al, 0x60
xor al, byte [esp + 0x10]
mov cl, 0x53
mov ch, 0x4f
mov byte [esp + 0x11], al
mov al, byte [esp + 0x10]
mov dl, 0x6d
xor cl, al
mov byte [esp + 0x19], 0
xor ch, al
mov byte [esp + 0x12], cl
mov dh, 0x6a
mov byte [esp + 0x16], ch
mov bl, 0x64
mov byte [esp + 0x19], 0
mov ah, 0x72
lea ecx, [esp + 0x11]
xor dl, al
xor dh, al
mov bh, 0x71
mov byte [esp + 0x13], dl
xor bl, al
mov byte [esp + 0x17], dh
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov byte [esp + 0x18], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b12b7
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7e00
lea ecx, [esp + 0x24]
call fcn.004b7770
lea ecx, [esp + 0x3c]
call fcn.004b7770
lea ecx, [esp + 0x54]
call fcn.004b7770
mov dword [0x4dc7c0], 0xfa1
jmp 0x4af882
add edx, 0xfffffe70
cmp esi, 0xa0
ja 0x4b131b
cmp edx, 0x1b
ja 0x4b131b
mov dword [0x4dc7c0], 0xfa2
jmp 0x4af882
lea eax, [ecx - 0xe6]
cmp eax, 0x82
ja 0x4b133c
cmp edx, 0x1b
ja 0x4b133c
mov dword [0x4dc7c0], 0xfa3
jmp 0x4af882
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4dc7c0], 0
cmp edi, dword [0x4dc7c0]
je 0x4b15a3
mov bh, 0xf
mov byte [esp + 0x18], 0
mov cl, 0x77
mov byte [esp + 0x10], bh
mov ch, 0x5a
mov byte [esp + 0x18], 0
xor cl, bh
xor ch, bh
mov al, 0x3c
mov byte [esp + 0x12], cl
mov dl, 0x47
mov byte [esp + 0x16], ch
mov ah, 0x6b
lea ecx, [esp + 0x24]
mov dh, 0x7f
mov bl, 0x39
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x11], al
xor ah, bh
mov byte [esp + 0x13], dl
xor dh, bh
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], ah
mov byte [esp + 0x17], dh
call fcn.004b8bd0
lea ecx, [esp + 0x11]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b13c0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8860
mov byte [esp + 0x10], 0x71
mov al, 0x37
xor al, byte [esp + 0x10]
mov cl, 0x27
mov byte [esp + 0x11], al
mov dl, 0x2b
mov al, byte [esp + 0x10]
mov ch, 0x32
mov dh, 0x17
mov byte [esp + 0x23], 0x22
xor cl, al
mov byte [esp + 0x1a], 0
xor dl, al
mov byte [esp + 0x12], cl
xor ch, al
mov byte [esp + 0x13], dl
xor dh, al
mov byte [esp + 0x16], ch
mov bl, 0x34
mov byte [esp + 0x17], dh
mov ah, 2
mov byte [esp + 0x1a], 0
mov bh, 0x42
lea ecx, [esp + 0x11]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x14], bl
xor bh, al
mov byte [esp + 0x15], ah
mov al, byte [esp + 0x23]
xor al, byte [esp + 0x10]
mov byte [esp + 0x18], bh
mov byte [esp + 0x19], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1445
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
mov bh, 0x17
mov byte [esp + 0x18], 0
mov cl, 0x7a
mov byte [esp + 0x10], bh
mov ch, 0x6e
mov byte [esp + 0x18], 0
mov dl, 0x26
xor cl, bh
xor ch, bh
mov byte [esp + 0x12], cl
mov al, 0x73
mov byte [esp + 0x16], ch
mov bl, 0x44
lea ecx, [esp + 0x11]
mov ah, 0x50
mov dh, 0x23
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x13], dl
xor ah, bh
mov byte [esp + 0x11], al
xor dh, bh
mov byte [esp + 0x14], bl
mov byte [esp + 0x17], dh
lea edx, [ecx + 1]
mov byte [esp + 0x15], ah
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b14b0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7f90
lea ecx, [esp + 0x24]
call fcn.004b7770
mov ebx, dword [0x4dc870]
xor edi, edi
mov eax, dword [ebx + 0x3c]
mov ebp, dword [eax + ebx + 0x78]
mov esi, dword [ebp + ebx + 0x20]
add esi, ebx
mov ecx, dword [esi]
mov edx, 0x878453f4
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1513
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b14f6
cmp edx, 0xd7102087
je 0x4b1519
inc edi
add esi, 4
jmp 0x4b14e6
mov eax, dword [ebp + ebx + 0x24]
push 0
push 0
push dword [0x4dc864]
lea eax, [eax + edi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [ebp + ebx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
call eax
mov ebx, dword [0x4dc870]
xor edi, edi
mov eax, dword [ebx + 0x3c]
mov ebp, dword [eax + ebx + 0x78]
mov esi, dword [ebp + ebx + 0x20]
add esi, ebx
mov ecx, dword [esi]
mov edx, 0x1ecde03a
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b157e
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1561
cmp edx, 0x3a7fd0b
je 0x4b1584
inc edi
add esi, 4
jmp 0x4b1551
mov eax, dword [ebp + ebx + 0x24]
push dword [0x4dc864]
lea eax, [eax + edi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [ebp + ebx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
call eax
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004cbdc9
add esp, 0x64
ret