Function at 0x4ad010
Capabilities:
Authenticate hmac
Check http status code
Encode data using xor
Hash data using fnv
Parse pe header
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x124
mov eax, dword [0x4d700c]
xor eax, esp
mov dword [esp + 0x11c], eax
cmp byte [0x4d77c7], 0
push ebx
push ebp
push esi
push edi
mov edi, dword [0x4d77c0]
je 0x4ad4a6
lea eax, [ecx - 0x334]
lea esi, [edx - 0x14]
cmp eax, 0x16
ja 0x4ad071
cmp esi, 0x14
ja 0x4ad071
mov dword [0x4d77c0], 2
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x316]
cmp eax, 0x12
ja 0x4ad0a4
cmp esi, 0x14
ja 0x4ad0a4
push 0x7f00
push 0
mov dword [0x4d77c0], 3
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x8f]
lea esi, [edx - 0x1a]
cmp eax, 0x114
ja 0x4ad0dc
cmp esi, 0x28
ja 0x4ad0dc
push 0x7f00
push 0
mov dword [0x4d77c0], 4
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x1b2]
cmp eax, 0x28
ja 0x4ad10f
cmp esi, 0x28
ja 0x4ad10f
push 0x7f00
push 0
mov dword [0x4d77c0], 5
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x204]
lea esi, [edx - 0x22]
cmp eax, 0x1a
ja 0x4ad145
cmp esi, 0x1a
ja 0x4ad145
push 0x7f00
push 0
mov dword [0x4d77c0], 0x3f3
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x22f]
cmp eax, 0x1a
ja 0x4ad178
cmp esi, 0x1a
ja 0x4ad178
push 0x7f00
push 0
mov dword [0x4d77c0], 0x3f4
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x25a]
cmp eax, 0x1a
ja 0x4ad1ab
cmp esi, 0x1a
ja 0x4ad1ab
push 0x7f00
push 0
mov dword [0x4d77c0], 0x3f5
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x22]
add edx, 0xfffffe7c
cmp eax, 0xe6
ja 0x4ad1e3
cmp edx, 0x28
ja 0x4ad1e3
push 0x7f00
push 0
mov dword [0x4d77c0], 0x3e9
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x13b]
cmp eax, 0xe6
ja 0x4ad469
cmp edx, 0x28
ja 0x4ad469
mov byte [esp + 0x14], 0x76
mov al, 0x25
xor al, byte [esp + 0x14]
mov ah, 0x24
mov byte [esp + 0x15], al
mov bh, ah
mov al, byte [esp + 0x14]
mov cl, 0x15
xor cl, al
mov byte [esp + 0x23], 0x45
mov dl, 0x3d
mov byte [esp + 0x16], cl
mov ch, 0xc
mov byte [esp + 0x1e], 0
xor ch, al
mov dword [0x4d77c0], 0x3ea
mov dh, 0x42
mov byte [esp + 0x1a], ch
xor dl, al
mov byte [esp + 0x1e], 0
xor ah, al
mov byte [esp + 0x17], dl
xor dh, al
mov byte [esp + 0x19], ah
xor bh, al
mov byte [esp + 0x1b], dh
mov bl, 0x19
mov byte [esp + 0x1c], bh
xor bl, al
lea ecx, [esp + 0x24]
mov al, byte [esp + 0x23]
xor al, byte [esp + 0x14]
mov byte [esp + 0x18], bl
mov byte [esp + 0x1d], al
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad280
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b4ff0
mov byte [esp + 0x14], 0x58
mov al, 0x12
xor al, byte [esp + 0x14]
mov cl, 0x16
mov byte [esp + 0x15], al
mov ch, 0x6a
mov al, byte [esp + 0x14]
mov dl, 0x3f
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov ah, 0x29
mov byte [esp + 0x1a], ch
mov dh, 0x37
mov byte [esp + 0x1d], 0
mov bl, 0x33
lea ecx, [esp + 0x3c]
mov bh, 0x1a
xor dl, al
xor bl, al
mov byte [esp + 0x17], dl
xor ah, al
mov byte [esp + 0x18], bl
xor dh, al
mov byte [esp + 0x19], ah
xor bh, al
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad300
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b4ff0
mov dh, 0x56
mov byte [esp + 0x1b], 0
mov cl, 0x63
mov byte [esp + 0x14], dh
mov dl, 0x39
mov byte [esp + 0x1b], 0
xor cl, dh
mov al, 0x26
mov bl, 0x21
mov byte [esp + 0x16], cl
mov ah, 6
mov ch, 0x15
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x17], dl
xor ah, dh
mov byte [esp + 0x15], al
xor ch, dh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1a], ch
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad360
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b4730
mov byte [esp + 0x14], 0x5c
mov al, 0x2e
xor al, byte [esp + 0x14]
mov ah, 6
mov byte [esp + 0x15], al
mov cl, 0x68
mov al, byte [esp + 0x14]
mov dl, 0x14
xor ah, al
mov byte [esp + 0x1d], 0
mov ch, 0x16
mov byte [esp + 0x19], ah
mov dh, 0xd
mov byte [esp + 0x1d], 0
xor cl, al
xor ch, al
mov bl, 0xf
mov byte [esp + 0x16], cl
mov bh, 0x24
mov byte [esp + 0x1a], ch
xor dl, al
lea ecx, [esp + 0x3c]
xor bl, al
mov byte [esp + 0x17], dl
xor dh, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x1b], dh
lea eax, [esp + 0x15]
mov byte [esp + 0x1c], bh
push eax
call fcn.004b5380
test al, al
je 0x4ad43e
mov dh, 0x73
mov byte [esp + 0x1b], 0
mov cl, 0x15
mov byte [esp + 0x14], dh
mov dl, 0x42
mov byte [esp + 0x1b], 0
xor cl, dh
mov al, 0x1a
mov bl, 0x27
mov byte [esp + 0x16], cl
mov ah, 0x22
mov ch, 0x36
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x17], dl
xor ah, dh
mov byte [esp + 0x15], al
xor ch, dh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1a], ch
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad426
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b4730
lea ecx, [esp + 0x3c]
call fcn.004b3e90
lea ecx, [esp + 0x24]
call fcn.004b3e90
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x254]
cmp eax, 0xe6
ja 0x4aea06
cmp edx, 0x28
ja 0x4aea06
push 0x7f00
push 0
mov dword [0x4d77c0], 0x3eb
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea esi, [ecx - 0x28]
cmp esi, 0x140
ja 0x4ad4df
lea eax, [edx - 0x1c1]
cmp eax, 0x34
ja 0x4ad4df
push 0x7f00
push 0
mov dword [0x4d77c0], 1
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4aea24
lea eax, [ecx - 0x168]
cmp eax, 0x16
ja 0x4ad4f6
lea eax, [edx - 0x14]
cmp eax, 0x14
jbe 0x4ad04e
lea eax, [ecx - 0x14a]
cmp eax, 0x12
ja 0x4ad6f6
cmp edx, 0x14
jl 0x4ad6f6
cmp edx, 0x28
jg 0x4ad6f6
mov byte [esp + 0x14], 0x39
mov al, 0xe
xor al, byte [esp + 0x14]
mov cl, 0x4a
mov byte [esp + 0x15], al
mov ch, 0x72
mov al, byte [esp + 0x14]
mov dl, 0x4f
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov ah, 0x4c
mov byte [esp + 0x1a], ch
mov dh, 0x78
mov byte [esp + 0x1d], 0
mov bl, 0x6e
lea ecx, [esp + 0x84]
mov bh, 0xd
xor dl, al
xor bl, al
mov byte [esp + 0x17], dl
xor ah, al
mov byte [esp + 0x18], bl
xor dh, al
mov byte [esp + 0x19], ah
xor bh, al
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad580
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x8c]
call fcn.004b4ff0
mov bh, 0x4a
mov byte [esp + 0x1c], 0
mov cl, 0x2e
mov byte [esp + 0x14], bh
mov ch, 0x2d
mov byte [esp + 0x1c], 0
mov dl, 0x3e
xor cl, bh
xor ch, bh
mov byte [esp + 0x16], cl
mov al, 6
mov byte [esp + 0x1a], ch
mov bl, 0x22
lea ecx, [esp + 0x15]
mov ah, 0x3b
mov dh, 3
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x17], dl
xor ah, bh
mov byte [esp + 0x15], al
xor dh, bh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1b], dh
lea edx, [ecx + 1]
mov byte [esp + 0x19], ah
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad5f0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x8c]
call fcn.004b4730
mov dh, 0x52
mov byte [esp + 0x1b], 0
mov al, 0x38
mov byte [esp + 0x14], dh
mov ah, 0x11
mov byte [esp + 0x1b], 0
xor al, dh
xor ah, dh
mov cl, 0x18
mov byte [esp + 0x15], al
mov ch, 0x3a
mov byte [esp + 0x19], ah
xor cl, dh
lea eax, [esp + 0x15]
xor ch, dh
mov byte [esp + 0x16], cl
mov dl, 0x2b
mov byte [esp + 0x1a], ch
mov bl, 0x3c
lea ecx, [esp + 0x84]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x1b], dl
mov byte [esp + 0x1c], bl
call fcn.004b5380
test al, al
je 0x4ad6db
mov byte [esp + 0x14], 0x69
mov al, 0x2a
xor al, byte [esp + 0x14]
mov cl, 0x5f
mov ch, 0xd
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov dl, 6
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov dh, 0x20
mov byte [esp + 0x1a], ch
mov bl, 0x1c
mov byte [esp + 0x1d], 0
mov ah, 0xe
lea ecx, [esp + 0x15]
xor dl, al
xor dh, al
mov bh, 0x1e
mov byte [esp + 0x17], dl
xor bl, al
mov byte [esp + 0x1b], dh
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
mov byte [esp + 0x1c], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad6c0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x8c]
call fcn.004b45a0
lea ecx, [esp + 0x84]
call fcn.004b3e90
mov dword [0x4d77c0], 3
jmp 0x4ad058
lea eax, [ecx - 0x145]
cmp eax, 0x13
ja 0x4ad978
cmp edx, 0x11d
jl 0x4ad978
cmp edx, 0x12c
jg 0x4ad978
mov byte [esp + 0x14], 0x65
mov al, 6
xor al, byte [esp + 0x14]
mov cl, 0x32
mov byte [esp + 0x15], al
mov ch, 0x17
mov al, byte [esp + 0x14]
mov dl, 2
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov ah, 0x3c
mov byte [esp + 0x1a], ch
mov dh, 0x20
mov byte [esp + 0x1d], 0
mov bl, 0x51
lea ecx, [esp + 0x114]
mov bh, 0x16
xor dl, al
xor bl, al
mov byte [esp + 0x17], dl
xor ah, al
mov byte [esp + 0x18], bl
xor dh, al
mov byte [esp + 0x19], ah
xor bh, al
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad785
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x11c]
call fcn.004b4ff0
mov bh, 0x24
mov byte [esp + 0x1c], 0
mov cl, 0x5e
mov byte [esp + 0x14], bh
mov ch, 0x75
mov byte [esp + 0x1c], 0
xor cl, bh
xor ch, bh
mov al, 0x71
mov byte [esp + 0x16], cl
mov dl, 0x63
mov byte [esp + 0x1a], ch
mov ah, 0x6b
lea ecx, [esp + 0xe4]
mov dh, 0x7d
mov bl, 0x15
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x15], al
xor ah, bh
mov byte [esp + 0x17], dl
xor dh, bh
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], ah
mov byte [esp + 0x1b], dh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad800
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xec]
call fcn.004b4ff0
mov dh, 0x21
mov byte [esp + 0x1b], 0
mov cl, 0x79
mov byte [esp + 0x14], dh
mov dl, 0x62
mov byte [esp + 0x1b], 0
xor cl, dh
mov al, 0x70
mov bl, 0x19
mov byte [esp + 0x16], cl
mov ah, 0x4f
mov ch, 0x66
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x17], dl
xor ah, dh
mov byte [esp + 0x15], al
xor ch, dh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1a], ch
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad862
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xec]
call fcn.004b4730
mov bh, 0xe
mov byte [esp + 0x1c], 0
mov al, 0x6f
mov byte [esp + 0x14], bh
mov ah, 0x7e
mov byte [esp + 0x1c], 0
xor al, bh
xor ah, bh
mov cl, 0x3f
mov byte [esp + 0x15], al
mov ch, 0x4d
mov byte [esp + 0x19], ah
xor cl, bh
lea eax, [esp + 0x15]
xor ch, bh
mov byte [esp + 0x16], cl
mov dl, 0x65
mov byte [esp + 0x1a], ch
mov dh, 0x4f
lea ecx, [esp + 0xe4]
mov bl, 0x42
xor dl, bh
xor dh, bh
mov byte [esp + 0x17], dl
xor bl, bh
mov byte [esp + 0x1b], dh
push eax
mov byte [esp + 0x1c], bl
call fcn.004b5380
test al, al
je 0x4ad951
mov byte [esp + 0x14], 0x3c
mov al, 0x6f
xor al, byte [esp + 0x14]
mov cl, 0x64
mov dl, 0x71
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov ch, cl
mov ah, dl
mov byte [esp + 0x1d], 0
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov dh, 9
mov byte [esp + 0x1a], ch
mov bl, 4
lea ecx, [esp + 0x15]
xor dl, al
xor dh, al
mov bh, 0x6d
mov byte [esp + 0x17], dl
xor bl, al
mov byte [esp + 0x1b], dh
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
mov byte [esp + 0x1c], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ad936
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x11c]
call fcn.004b4730
lea ecx, [esp + 0xe4]
call fcn.004b3e90
lea ecx, [esp + 0x114]
call fcn.004b3e90
mov dword [0x4d77c0], 4
jmp 0x4ad058
lea eax, [ecx - 0x147]
cmp eax, 0x13
ja 0x4ad99d
lea eax, [edx - 0x15d]
cmp eax, 0xf
ja 0x4ad99d
mov dword [0x4d77c0], 5
jmp 0x4ad058
lea eax, [ecx - 0x97]
cmp eax, 0x14
ja 0x4adb8d
cmp edx, 0x22b
jl 0x4adb8d
cmp edx, 0x23f
jg 0x4adb8d
mov byte [esp + 0x14], 3
mov al, 0x59
xor al, byte [esp + 0x14]
mov cl, 0x4f
xor cl, byte [esp + 0x14]
mov dl, 0x6d
mov byte [esp + 0x15], al
mov ch, 0x36
mov byte [esp + 0x16], cl
mov ah, 0x3a
mov cl, byte [esp + 0x14]
mov dh, 0x52
mov byte [esp + 0x23], 0x71
xor ch, cl
mov al, byte [esp + 0x23]
mov bl, 0x3b
xor al, cl
mov byte [esp + 0x22], dl
mov byte [esp + 0x1d], al
mov bh, 0x48
mov al, byte [esp + 0x22]
xor dl, cl
xor bl, cl
mov byte [esp + 0x1a], ch
xor ah, cl
mov byte [esp + 0x1f], 0
xor dh, cl
mov byte [esp + 0x17], dl
xor bh, cl
mov byte [esp + 0x18], bl
xor al, cl
mov byte [esp + 0x19], ah
lea ecx, [esp + 0xfc]
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], 0
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ada50
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x104]
call fcn.004b4ff0
mov byte [esp + 0x14], 0x29
mov al, 0x71
xor al, byte [esp + 0x14]
mov ah, 0x67
mov byte [esp + 0x15], al
mov cl, 0x45
mov al, byte [esp + 0x14]
mov dl, 0x79
xor ah, al
mov byte [esp + 0x1d], 0
xor cl, al
mov byte [esp + 0x19], ah
mov ch, 0x43
mov byte [esp + 0x16], cl
xor ch, al
mov byte [esp + 0x1d], 0
mov dh, 0x6c
mov byte [esp + 0x1a], ch
xor dl, al
lea ecx, [esp + 0x54]
xor dh, al
mov byte [esp + 0x17], dl
mov bl, 0x11
mov byte [esp + 0x1b], dh
xor bl, al
mov bh, 0x4f
xor bh, al
mov byte [esp + 0x18], bl
lea eax, [esp + 0x22]
mov byte [esp + 0x1c], bh
push eax
push 1
push 0
lea eax, [esp + 0x108]
push eax
call fcn.004b4790
lea eax, [esp + 0x15]
push eax
lea ecx, [esp + 0x58]
call fcn.004b5380
lea ecx, [esp + 0x54]
mov bl, al
call fcn.004b3e90
test bl, bl
je 0x4adb72
mov byte [esp + 0x14], 0x1b
mov al, 0x63
xor al, byte [esp + 0x14]
mov cl, 0x59
mov ch, 0x77
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov dl, 0x2e
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov dh, 0x4c
mov byte [esp + 0x1a], ch
mov bl, 0x78
mov byte [esp + 0x1d], 0
mov ah, 0x72
lea ecx, [esp + 0x15]
xor dl, al
xor dh, al
mov bh, 0x5d
mov byte [esp + 0x17], dl
xor bl, al
mov byte [esp + 0x1b], dh
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
mov byte [esp + 0x1c], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4adb57
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x104]
call fcn.004b45a0
lea ecx, [esp + 0xfc]
call fcn.004b3e90
mov dword [0x4d77c0], 0x3e9
jmp 0x4ad058
lea eax, [ecx - 0xbf]
cmp eax, 0x14
ja 0x4addca
cmp edx, 0x22b
jl 0x4addca
cmp edx, 0x23f
jg 0x4addca
mov byte [esp + 0x14], 0x1e
mov al, 0x5f
xor al, byte [esp + 0x14]
mov ch, 0x66
mov byte [esp + 0x15], al
mov dh, ch
mov al, byte [esp + 0x14]
mov cl, 0x29
xor cl, al
mov byte [esp + 0x22], 0x2e
xor ch, al
mov byte [esp + 0x16], cl
mov dl, 0x76
mov byte [esp + 0x1a], ch
mov ah, 0x5c
mov byte [esp + 0x1e], 0
xor dl, al
mov byte [esp + 0x1e], 0
xor ah, al
mov byte [esp + 0x17], dl
xor dh, al
mov byte [esp + 0x19], ah
mov bl, 0x54
mov byte [esp + 0x1b], dh
xor bl, al
lea ecx, [esp + 0x9c]
mov bh, 0x5a
mov byte [esp + 0x18], bl
xor bh, al
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x14]
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4adc30
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xa4]
call fcn.004b4ff0
mov al, 6
mov byte [esp + 0x14], 0x34
mov ah, al
mov byte [esp + 0x22], 0x7e
xor al, byte [esp + 0x14]
mov dh, 0x51
mov byte [esp + 0x15], al
mov bh, dh
mov al, byte [esp + 0x14]
mov cl, 0x79
mov dl, 0x62
mov byte [esp + 0x1e], 0
mov ch, 0x7b
mov byte [esp + 0x1e], 0
xor cl, al
xor dl, al
xor ch, al
mov byte [esp + 0x16], cl
xor dh, al
mov byte [esp + 0x1a], ch
mov bl, 0x5d
mov byte [esp + 0x17], dl
xor bl, al
mov byte [esp + 0x1b], dh
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
mov al, byte [esp + 0x22]
lea ecx, [esp + 0x15]
xor al, byte [esp + 0x14]
lea edx, [ecx + 1]
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4adcb8
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xa4]
call fcn.004b4730
mov al, 0x4c
mov byte [esp + 0x14], 0x27
mov dl, al
mov byte [esp + 0x22], al
xor al, byte [esp + 0x14]
mov cl, 0x46
mov byte [esp + 0x15], al
mov ah, 0x6b
mov al, byte [esp + 0x14]
mov ch, 0x57
xor cl, al
mov byte [esp + 0x1e], 0
xor ch, al
mov byte [esp + 0x16], cl
xor dl, al
mov byte [esp + 0x1a], ch
xor ah, al
mov byte [esp + 0x17], dl
mov dh, 0x7e
mov byte [esp + 0x19], ah
xor dh, al
mov byte [esp + 0x1e], 0
mov bl, 0x53
mov byte [esp + 0x1b], dh
xor bl, al
lea ecx, [esp + 0x9c]
mov bh, 0x10
mov byte [esp + 0x18], bl
xor bh, al
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x14]
mov byte [esp + 0x1d], al
lea eax, [esp + 0x15]
push eax
mov byte [esp + 0x20], bh
call fcn.004b5380
test al, al
je 0x4addaf
mov dh, 0x3f
mov byte [esp + 0x1b], 0
mov cl, 0x79
mov byte [esp + 0x14], dh
mov dl, 0x6d
mov byte [esp + 0x1b], 0
xor cl, dh
mov al, 0x59
mov bl, 0x4b
mov byte [esp + 0x16], cl
mov ah, 6
mov ch, 0x4d
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x17], dl
xor ah, dh
mov byte [esp + 0x15], al
xor ch, dh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1a], ch
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4add94
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xa4]
call fcn.004b4730
lea ecx, [esp + 0x9c]
call fcn.004b3e90
mov dword [0x4d77c0], 0x3ea
jmp 0x4ad058
lea eax, [ecx - 0xe7]
cmp eax, 0x14
ja 0x4addef
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4addef
mov dword [0x4d77c0], 0x3eb
jmp 0x4ad058
cmp ecx, 0x28
jl 0x4ae336
cmp ecx, 0x168
jg 0x4ae336
cmp edx, 0x109
jl 0x4ae08d
cmp edx, 0x13f
jg 0x4ae08d
mov al, 0x27
mov byte [esp + 0x14], 0x40
mov ah, al
mov byte [esp + 0x1d], 0
xor al, byte [esp + 0x14]
mov cl, 0x28
mov byte [esp + 0x15], al
mov ch, 0x10
mov al, byte [esp + 0x14]
mov dl, 4
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov dh, 9
mov byte [esp + 0x1a], ch
mov bl, 0x31
lea ecx, [esp + 0x24]
mov bh, 0x23
xor dl, al
xor bl, al
mov byte [esp + 0x17], dl
xor ah, al
mov byte [esp + 0x18], bl
xor dh, al
mov byte [esp + 0x19], ah
xor bh, al
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ade81
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b4ff0
mov byte [esp + 0x14], 0x4f
mov al, 0x1d
xor al, byte [esp + 0x14]
mov cl, 0x25
mov byte [esp + 0x15], al
mov ch, 0x7c
mov al, byte [esp + 0x14]
mov dl, 7
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov ah, 0x28
mov byte [esp + 0x1a], ch
mov dh, 0x2a
mov byte [esp + 0x1d], 0
mov bl, 6
lea ecx, [esp + 0x3c]
mov bh, 9
xor dl, al
xor bl, al
mov byte [esp + 0x17], dl
xor ah, al
mov byte [esp + 0x18], bl
xor dh, al
mov byte [esp + 0x19], ah
xor bh, al
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4adf00
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b4ff0
mov byte [esp + 0x14], 0x3a
mov al, 0x7b
xor al, byte [esp + 0x14]
mov cl, 9
mov byte [esp + 0x15], al
mov dl, 0x48
mov al, byte [esp + 0x14]
mov ch, 0x4f
mov dh, 0x5f
mov byte [esp + 0x22], 0x72
xor cl, al
mov byte [esp + 0x1e], 0
xor dl, al
mov byte [esp + 0x16], cl
xor ch, al
mov byte [esp + 0x17], dl
xor dh, al
mov byte [esp + 0x1a], ch
mov bl, 0x51
mov byte [esp + 0x1b], dh
mov ah, 0xb
mov byte [esp + 0x1e], 0
mov bh, 0x75
lea ecx, [esp + 0x15]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x14]
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4adf85
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b4730
mov bh, 0x22
mov byte [esp + 0x1c], 0
mov cl, 0x57
mov byte [esp + 0x14], bh
mov dl, 0x50
mov byte [esp + 0x1c], 0
mov ch, 0x11
mov dh, 0x16
xor cl, bh
xor dl, bh
xor ch, bh
mov byte [esp + 0x16], cl
xor dh, bh
mov byte [esp + 0x17], dl
mov al, 0x77
mov byte [esp + 0x1a], ch
mov bl, 0x74
mov byte [esp + 0x1b], dh
mov ah, 0x6c
lea edx, [esp + 0x3c]
xor al, bh
lea ecx, [esp + 0x15]
xor ah, bh
mov byte [esp + 0x15], al
xor bl, bh
mov byte [esp + 0x19], ah
mov byte [esp + 0x18], bl
call fcn.004b4a70
test al, al
je 0x4ae058
mov dh, 0x3f
mov byte [esp + 0x1b], 0
mov al, 0x59
mov byte [esp + 0x14], dh
mov cl, al
mov byte [esp + 0x1b], 0
mov dl, 0x79
xor cl, dh
mov bl, 0x53
mov byte [esp + 0x16], cl
mov ah, 0x4c
mov ch, 8
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x17], dl
xor ah, dh
mov byte [esp + 0x15], al
xor ch, dh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1a], ch
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae040
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b45a0
lea ecx, [esp + 0x3c]
call fcn.004b3e90
lea ecx, [esp + 0x24]
call fcn.004b3e90
push 0x7f01
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4d77c0], 0x7d1
jmp 0x4aea24
cmp edx, 0x149
jl 0x4ae336
cmp edx, 0x17f
jg 0x4ae336
mov byte [esp + 0x14], 0x20
mov al, 0x61
xor al, byte [esp + 0x14]
mov ch, 0x72
mov bh, ch
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov cl, 0x4a
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov dl, 0x5a
mov byte [esp + 0x1a], ch
mov ah, 0x11
mov byte [esp + 0x1d], 0
mov dh, 0x46
lea ecx, [esp + 0x6c]
mov bl, 0x19
xor dl, al
xor bl, al
mov byte [esp + 0x17], dl
xor ah, al
mov byte [esp + 0x18], bl
xor dh, al
mov byte [esp + 0x19], ah
xor bh, al
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae110
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x74]
call fcn.004b4ff0
mov dh, 0x69
mov byte [esp + 0x1b], 0
mov cl, 0x5d
mov byte [esp + 0x14], dh
mov ch, 0x1c
mov byte [esp + 0x1b], 0
xor cl, dh
xor ch, dh
mov al, 2
mov byte [esp + 0x16], cl
mov dl, 0x5b
mov byte [esp + 0x1a], ch
mov ah, 0xa
lea ecx, [esp + 0x24]
mov bl, 1
xor al, dh
xor dl, dh
mov byte [esp + 0x15], al
xor bl, dh
mov byte [esp + 0x17], dl
xor ah, dh
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], ah
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae178
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b4ff0
mov byte [esp + 0x14], 0x5e
mov al, 0x12
xor al, byte [esp + 0x14]
mov cl, 0x18
mov byte [esp + 0x15], al
mov dl, 0x27
mov al, byte [esp + 0x14]
mov ah, 0x3f
xor cl, al
mov byte [esp + 0x22], 0x3c
xor dl, al
mov byte [esp + 0x16], cl
xor ah, al
mov byte [esp + 0x1e], 0
mov ch, 0x26
mov byte [esp + 0x19], ah
xor ch, al
mov byte [esp + 0x17], dl
mov dh, 0x30
mov byte [esp + 0x1a], ch
xor dh, al
mov byte [esp + 0x1e], 0
mov bl, 0x2c
mov byte [esp + 0x1b], dh
xor bl, al
lea ecx, [esp + 0x24]
mov bh, 0x17
mov byte [esp + 0x18], bl
xor bh, al
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x14]
mov byte [esp + 0x1d], al
lea eax, [esp + 0x15]
push eax
mov byte [esp + 0x20], bh
call fcn.004b5380
test al, al
je 0x4ae301
mov byte [esp + 0x14], 0x20
mov al, 0x18
xor al, byte [esp + 0x14]
mov ah, 0x43
mov byte [esp + 0x15], al
mov cl, 0x19
mov al, byte [esp + 0x14]
mov dl, 0x44
xor ah, al
mov byte [esp + 0x1d], 0
mov ch, 0x4f
mov byte [esp + 0x19], ah
mov dh, 0x52
mov byte [esp + 0x1d], 0
xor cl, al
xor ch, al
mov bl, 0x5a
mov byte [esp + 0x16], cl
mov bh, 0x67
mov byte [esp + 0x1a], ch
xor dl, al
lea ecx, [esp + 0x54]
xor bl, al
mov byte [esp + 0x17], dl
xor dh, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x1b], dh
lea eax, [esp + 0x15]
mov byte [esp + 0x1c], bh
push eax
call fcn.004b3fa0
mov byte [esp + 0x14], 0x66
mov al, 0x2f
xor al, byte [esp + 0x14]
mov dl, 0x51
mov ch, dl
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov cl, 0x3c
mov dh, 0x56
mov byte [esp + 0x22], 0x3e
xor cl, al
mov byte [esp + 0x1e], 0
xor dl, al
mov byte [esp + 0x16], cl
xor ch, al
mov byte [esp + 0x17], dl
xor dh, al
mov byte [esp + 0x1a], ch
mov bl, 0x35
mov byte [esp + 0x1b], dh
mov ah, 0x2b
mov byte [esp + 0x1e], 0
mov bh, 0x37
lea ecx, [esp + 0x15]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x14]
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae2e0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.004b45a0
lea ecx, [esp + 0x54]
call fcn.004b3e90
lea ecx, [esp + 0x24]
call fcn.004b3e90
lea ecx, [esp + 0x6c]
call fcn.004b3e90
push 0x7f01
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4d77c0], 0x7d2
jmp 0x4aea24
lea eax, [ecx - 0x46]
cmp eax, 0x104
ja 0x4ae536
cmp edx, 0x1f7
jl 0x4ae536
cmp edx, 0x20f
jg 0x4ae536
mov bh, 0x30
mov byte [esp + 0x1c], 0
mov cl, 0x5a
mov byte [esp + 0x14], bh
mov ch, 8
mov byte [esp + 0x1c], 0
xor cl, bh
xor ch, bh
mov al, 0x58
mov byte [esp + 0x16], cl
mov dl, 0x56
mov byte [esp + 0x1a], ch
mov ah, 0x46
lea ecx, [esp + 0xb4]
mov dh, 5
mov bl, 3
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x15], al
xor ah, bh
mov byte [esp + 0x17], dl
xor dh, bh
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], ah
mov byte [esp + 0x1b], dh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae3b7
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xbc]
call fcn.004b4ff0
mov byte [esp + 0x14], 0xd
mov al, 0x57
xor al, byte [esp + 0x14]
mov ch, 0x79
mov bl, 0x43
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov dh, bl
mov bh, ch
mov byte [esp + 0x22], 0x7a
mov cl, 0x46
mov byte [esp + 0x1e], 0
mov dl, 0x68
mov byte [esp + 0x1e], 0
xor cl, al
xor dl, al
xor ch, al
mov byte [esp + 0x16], cl
xor dh, al
mov byte [esp + 0x1a], ch
mov ah, 0x60
mov byte [esp + 0x17], dl
xor bl, al
mov byte [esp + 0x1b], dh
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
mov al, byte [esp + 0x22]
lea ecx, [esp + 0x15]
xor al, byte [esp + 0x14]
lea edx, [ecx + 1]
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae440
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xbc]
call fcn.004b4730
mov dh, 0x5d
mov byte [esp + 0x1b], 0
mov al, 0x35
mov byte [esp + 0x14], dh
mov dl, al
mov byte [esp + 0x1b], 0
mov ah, 0x18
xor al, dh
xor ah, dh
mov byte [esp + 0x15], al
mov cl, 0x6a
mov byte [esp + 0x19], ah
mov ch, 0x2f
lea eax, [esp + 0x15]
xor cl, dh
xor ch, dh
mov bl, 0x14
mov byte [esp + 0x16], cl
xor dl, dh
mov byte [esp + 0x1a], ch
xor bl, dh
mov byte [esp + 0x17], dl
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0x1c], bl
call fcn.004b5380
test al, al
je 0x4ae51b
mov bh, 0x1e
mov byte [esp + 0x1c], 0
mov al, 0x68
mov byte [esp + 0x14], bh
mov cl, al
mov byte [esp + 0x1c], 0
mov ch, 0x27
mov dl, 0x2d
xor cl, bh
xor ch, bh
mov bl, 0x79
mov byte [esp + 0x16], cl
mov ah, 0x7f
mov byte [esp + 0x1a], ch
mov dh, 0x73
lea ecx, [esp + 0x15]
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x17], dl
xor ah, bh
mov byte [esp + 0x15], al
xor dh, bh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1b], dh
lea edx, [ecx + 1]
mov byte [esp + 0x19], ah
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae500
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xbc]
call fcn.004b4730
lea ecx, [esp + 0xb4]
call fcn.004b3e90
mov dword [0x4d77c0], 0xfa1
jmp 0x4ad058
cmp esi, 0xa0
ja 0x4ae7e9
cmp edx, 0x190
jl 0x4ae7e9
cmp edx, 0x1ab
jg 0x4ae7e9
mov byte [esp + 0x14], 0x29
mov al, 0x78
xor al, byte [esp + 0x14]
mov cl, 0x7b
xor cl, byte [esp + 0x14]
mov ch, 0x6c
mov byte [esp + 0x15], al
mov dl, 0x5f
mov byte [esp + 0x16], cl
mov ah, 0x40
mov cl, byte [esp + 0x14]
mov dh, 0x67
mov byte [esp + 0x22], 0x19
xor ch, cl
mov al, byte [esp + 0x22]
mov bl, 0x4a
xor al, cl
mov byte [esp + 0x23], 0x5c
mov byte [esp + 0x1d], al
mov bh, 0x50
mov al, byte [esp + 0x23]
xor dl, cl
xor bl, cl
mov byte [esp + 0x1a], ch
xor ah, cl
mov byte [esp + 0x1f], 0
xor dh, cl
mov byte [esp + 0x17], dl
xor bh, cl
mov byte [esp + 0x18], bl
xor al, cl
mov byte [esp + 0x19], ah
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], 0
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae5e0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.004b4ff0
mov byte [esp + 0x14], 0x5a
mov al, 0x62
xor al, byte [esp + 0x14]
mov cl, 0x1d
mov byte [esp + 0x15], al
mov ch, 0x3e
mov al, byte [esp + 0x14]
mov dl, 0xf
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov ah, 0x6c
mov byte [esp + 0x1a], ch
mov dh, 0x2f
mov byte [esp + 0x1d], 0
mov bl, 0x39
lea ecx, [esp + 0x6c]
mov bh, 0x31
xor dl, al
xor bl, al
mov byte [esp + 0x17], dl
xor ah, al
mov byte [esp + 0x18], bl
xor dh, al
mov byte [esp + 0x19], ah
xor bh, al
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae660
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x74]
call fcn.004b4ff0
mov bh, 0x69
mov byte [esp + 0x1c], 0
mov cl, 0x2f
mov byte [esp + 0x14], bh
mov ch, 0x30
mov byte [esp + 0x1c], 0
mov dl, 0x1a
xor cl, bh
xor ch, bh
mov byte [esp + 0x16], cl
mov al, 0x2b
mov byte [esp + 0x1a], ch
mov bl, 0x3f
lea ecx, [esp + 0x15]
mov ah, 0x2a
mov dh, 0x3a
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x17], dl
xor ah, bh
mov byte [esp + 0x15], al
xor dh, bh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1b], dh
lea edx, [ecx + 1]
mov byte [esp + 0x19], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae6c7
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x74]
call fcn.004b4730
mov byte [esp + 0x14], 0x23
mov al, 0x66
mov dl, al
mov byte [esp + 0x22], 0x17
xor al, byte [esp + 0x14]
mov cl, 0x16
xor cl, byte [esp + 0x14]
mov ch, 0x45
mov byte [esp + 0x15], al
mov dh, 0x5b
mov al, byte [esp + 0x22]
mov bl, 0x40
mov byte [esp + 0x16], cl
mov ah, 0x51
mov cl, byte [esp + 0x14]
mov bh, 0x68
xor al, cl
mov byte [esp + 0x23], 0x4a
xor dl, cl
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x23]
xor dh, cl
xor ch, cl
mov byte [esp + 0x17], dl
xor bl, cl
mov byte [esp + 0x1a], ch
xor ah, cl
mov byte [esp + 0x1b], dh
xor bh, cl
mov byte [esp + 0x1f], 0
xor al, cl
mov byte [esp + 0x18], bl
lea edx, [esp + 0x6c]
mov byte [esp + 0x19], ah
lea ecx, [esp + 0x15]
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], 0
call fcn.004b4a70
test al, al
je 0x4ae7c8
mov dh, 0x57
mov byte [esp + 0x1b], 0
mov dl, 5
mov byte [esp + 0x14], dh
mov ch, dl
mov byte [esp + 0x1b], 0
mov cl, 3
mov al, 0x10
xor cl, dh
mov bl, 0x3e
mov ah, 0xf
mov byte [esp + 0x16], cl
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x17], dl
xor ah, dh
mov byte [esp + 0x15], al
xor ch, dh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1a], ch
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae7b0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.004b45a0
lea ecx, [esp + 0x6c]
call fcn.004b3e90
lea ecx, [esp + 0x54]
call fcn.004b3e90
mov dword [0x4d77c0], 0xfa2
jmp 0x4ad058
lea eax, [ecx - 0xe6]
cmp eax, 0x82
ja 0x4aea06
cmp edx, 0x190
jl 0x4aea06
cmp edx, 0x1ab
jg 0x4aea06
mov byte [esp + 0x14], 0x2b
mov al, 0x68
xor al, byte [esp + 0x14]
mov cl, 0x58
mov dl, cl
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov ch, 0x1a
mov dh, dl
mov byte [esp + 0x1d], 0
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov ah, 0x7e
mov byte [esp + 0x1a], ch
mov bl, 0x67
lea ecx, [esp + 0xcc]
mov bh, 0x18
xor dl, al
xor bl, al
mov byte [esp + 0x17], dl
xor ah, al
mov byte [esp + 0x18], bl
xor dh, al
mov byte [esp + 0x19], ah
xor bh, al
mov byte [esp + 0x1b], dh
mov byte [esp + 0x1c], bh
call fcn.004b5360
lea ecx, [esp + 0x15]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae880
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xd4]
call fcn.004b4ff0
mov dh, 0x3e
mov byte [esp + 0x1b], 0
mov cl, 0x49
mov byte [esp + 0x14], dh
mov dl, 0x74
mov byte [esp + 0x1b], 0
xor cl, dh
mov al, 0x64
mov bl, 0xf
mov byte [esp + 0x16], cl
mov ah, 0x76
mov ch, 0x4f
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x17], dl
xor ah, dh
mov byte [esp + 0x15], al
xor ch, dh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1a], ch
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae8e2
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xd4]
call fcn.004b4730
mov byte [esp + 0x14], 0x4e
mov al, 0x16
xor al, byte [esp + 0x14]
mov cl, 0x1b
xor cl, byte [esp + 0x14]
mov ah, 2
mov byte [esp + 0x15], al
mov ch, 0x3e
mov byte [esp + 0x16], cl
mov dl, 0x76
mov cl, byte [esp + 0x14]
mov dh, 4
mov byte [esp + 0x22], 0x1c
xor ah, cl
mov al, byte [esp + 0x22]
xor ch, cl
xor al, cl
mov byte [esp + 0x23], 0x1a
mov byte [esp + 0x1d], al
mov bl, 0x3a
mov al, byte [esp + 0x23]
mov bh, 0x17
xor al, cl
mov byte [esp + 0x19], ah
mov byte [esp + 0x1e], al
xor dl, cl
xor bl, cl
mov byte [esp + 0x1a], ch
xor dh, cl
mov byte [esp + 0x1f], 0
xor bh, cl
mov byte [esp + 0x17], dl
lea eax, [esp + 0x15]
mov byte [esp + 0x18], bl
push eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0x1f], dh
mov byte [esp + 0x20], bh
mov byte [esp + 0x23], 0
call fcn.004b5380
test al, al
je 0x4ae9eb
mov dh, 0xe
mov byte [esp + 0x1b], 0
mov cl, 0x64
mov byte [esp + 0x14], dh
mov dl, 0x78
mov byte [esp + 0x1b], 0
xor cl, dh
mov al, 0x76
mov bl, 0x4a
mov byte [esp + 0x16], cl
mov ah, 0x68
mov ch, 0x6d
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x17], dl
xor ah, dh
mov byte [esp + 0x15], al
xor ch, dh
mov byte [esp + 0x18], bl
mov byte [esp + 0x1a], ch
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae9d0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0xd4]
call fcn.004b45a0
lea ecx, [esp + 0xcc]
call fcn.004b3e90
mov dword [0x4d77c0], 0xfa3
jmp 0x4ad058
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4d77c0], 0
cmp edi, dword [0x4d77c0]
je 0x4aeb02
mov ebx, dword [0x4d7870]
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, 0x8f406652
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4aea72
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4aea55
cmp edx, 0xa7457975
je 0x4aea78
inc edi
add esi, 4
jmp 0x4aea45
mov eax, dword [ebp + ebx + 0x24]
push 0
push 0
push dword [0x4d7864]
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 [0x4d7870]
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, 0xcf166006
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4aeadd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4aeac0
cmp edx, 0x224bcbcf
je 0x4aeae3
inc edi
add esi, 4
jmp 0x4aeab0
mov eax, dword [ebp + ebx + 0x24]
push dword [0x4d7864]
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 + 0x12c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c6ca9
add esp, 0x124
ret