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

Disassembly:
sub esp, 0x94
mov eax, dword [0x4db00c]
xor eax, esp
mov dword [esp + 0x8c], eax
cmp byte [0x4db7c7], 0
push ebx
push ebp
mov ebp, dword [0x4db7c0]
push esi
push edi
mov esi, edx
mov edi, ecx
je 0x4afe8d
lea eax, [edi - 0x334]
cmp eax, 0x16
ja 0x4af8d0
cmp esi, 0x14
jl 0x4af8d0
cmp esi, 0x28
jg 0x4af8d0
mov bh, 0x6f
mov byte [esp + 0x1c], 0
mov cl, 0x3f
mov byte [esp + 0x14], bh
mov ch, 0x5e
mov byte [esp + 0x1c], 0
mov dl, 0x17
mov dword [esp + 0x34], 0
xor cl, bh
mov dword [esp + 0x38], 0
xor ch, bh
mov byte [esp + 0x16], cl
mov al, 0x5d
mov byte [esp + 0x1a], ch
mov bl, 9
lea ecx, [esp + 0x15]
mov ah, 0x2e
mov dh, 0x5c
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
xorps xmm0, xmm0
mov byte [esp + 0x1b], dh
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
movups xmmword [esp + 0x24], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4af657
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8710
mov dh, 0x3e
mov byte [esp + 0x1b], 0
mov al, 0x44
mov byte [esp + 0x14], dh
mov cl, 0x46
mov byte [esp + 0x1b], 0
mov dl, 9
mov dword [esp + 0x7c], 0
mov bl, al
mov dword [esp + 0x80], 0
xor cl, dh
mov ah, 0x59
mov ch, 0x49
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
xorps xmm0, xmm0
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
movups xmmword [esp + 0x6c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4af6d1
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x74]
call fcn.004b8710
mov byte [esp + 0x14], 0x48
mov al, 4
xor al, byte [esp + 0x14]
mov cl, 0x27
mov byte [esp + 0x15], al
mov dl, 0x2b
mov al, byte [esp + 0x14]
mov ah, 9
xor cl, al
mov byte [esp + 0x23], 0x1e
xor dl, al
mov byte [esp + 0x16], cl
xor ah, al
mov byte [esp + 0x1e], 0
mov ch, 0x2d
mov byte [esp + 0x19], ah
xor ch, al
mov byte [esp + 0x17], dl
mov dh, 6
mov byte [esp + 0x1a], ch
xor dh, al
mov byte [esp + 0x1e], 0
mov bl, 0x79
mov byte [esp + 0x1b], dh
xor bl, al
lea ecx, [esp + 0x6c]
mov bh, 0xf
mov byte [esp + 0x18], bl
xor bh, al
mov al, byte [esp + 0x23]
xor al, byte [esp + 0x14]
mov byte [esp + 0x1d], al
lea eax, [esp + 0x15]
push eax
mov byte [esp + 0x20], bh
call fcn.004b74c0
mov byte [esp + 0x14], 0x39
mov al, 0x50
xor al, byte [esp + 0x14]
mov cl, 0x5f
mov byte [esp + 0x15], al
mov dl, 0x55
mov al, byte [esp + 0x14]
mov ch, 0x6c
mov dh, 0xe
mov byte [esp + 0x1d], 0
xor cl, al
mov byte [esp + 0x1d], 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, 0x41
mov byte [esp + 0x1b], dh
mov ah, 0x54
lea edx, [esp + 0x6c]
mov bh, 0x49
lea ecx, [esp + 0x15]
xor bl, al
xor ah, al
xor bh, al
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], ah
mov byte [esp + 0x1c], bh
call fcn.004b8410
test al, al
je 0x4af828
mov dh, 0x6a
mov byte [esp + 0x1b], 0
mov al, 0x38
mov byte [esp + 0x14], dh
mov cl, 0x12
mov byte [esp + 0x1b], 0
mov dl, 0x20
mov ah, al
xor cl, dh
mov bl, 0x1f
mov ch, 0x22
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 word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4af810
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7cc0
mov ecx, dword [esp + 0x80]
cmp ecx, 0x10
jb 0x4af85d
mov edx, dword [esp + 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4af853
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4af89d
push ecx
push edx
call fcn.004cb06d
add esp, 8
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0xf
mov byte [esp + 0x6c], 0
cmp ecx, 0x10
jb 0x4af8ad
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4af8a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4af8a3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004cb06d
add esp, 8
mov dword [0x4db7c0], 2
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x316]
cmp eax, 0x12
ja 0x4af906
lea eax, [esi - 0x14]
cmp eax, 0x14
ja 0x4af906
push 0x7f00
push 0
mov dword [0x4db7c0], 3
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x8f]
lea ecx, [esi - 0x1a]
cmp eax, 0x114
ja 0x4af93e
cmp ecx, 0x28
ja 0x4af93e
push 0x7f00
push 0
mov dword [0x4db7c0], 4
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x1b2]
cmp eax, 0x28
ja 0x4af971
cmp ecx, 0x28
ja 0x4af971
push 0x7f00
push 0
mov dword [0x4db7c0], 5
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x204]
lea ecx, [esi - 0x22]
cmp eax, 0x1a
ja 0x4af9a7
cmp ecx, 0x1a
ja 0x4af9a7
push 0x7f00
push 0
mov dword [0x4db7c0], 0x3f3
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x22f]
cmp eax, 0x1a
ja 0x4af9da
cmp ecx, 0x1a
ja 0x4af9da
push 0x7f00
push 0
mov dword [0x4db7c0], 0x3f4
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x25a]
cmp eax, 0x1a
ja 0x4afa0d
cmp ecx, 0x1a
ja 0x4afa0d
push 0x7f00
push 0
mov dword [0x4db7c0], 0x3f5
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x22]
add esi, 0xfffffe7c
cmp eax, 0xe6
ja 0x4afb67
cmp esi, 0x28
ja 0x4afb67
mov dh, 0x50
mov byte [esp + 0x1b], 0
mov cl, 9
mov byte [esp + 0x14], dh
mov dl, 0x33
mov dword [0x4db7c0], 0x3e9
xor cl, dh
mov byte [esp + 0x1b], 0
mov al, 2
mov byte [esp + 0x16], cl
mov bl, 0x22
mov dword [esp + 0x34], 0
mov ah, 0x1e
mov dword [esp + 0x38], 0
mov ch, 0x29
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
xor ch, dh
mov byte [esp + 0x19], ah
mov byte [esp + 0x1a], ch
xorps xmm0, xmm0
lea ecx, [esp + 0x15]
movups xmmword [esp + 0x24], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afa93
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8710
mov bh, 0x3d
mov byte [esp + 0x1c], 0
mov al, 0xc
mov byte [esp + 0x14], bh
mov ah, 0xb
mov byte [esp + 0x1c], 0
xor al, bh
xor ah, bh
mov cl, 0x5e
mov byte [esp + 0x15], al
mov ch, 0x7b
mov byte [esp + 0x19], ah
xor cl, bh
lea eax, [esp + 0x15]
xor ch, bh
mov byte [esp + 0x16], cl
mov dl, 0x5b
mov byte [esp + 0x1a], ch
mov dh, 0x78
lea ecx, [esp + 0x24]
mov bl, 0x4b
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.004b74c0
mov ecx, dword [esp + 0x38]
cmp ecx, 0x10
jb 0x4afb39
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4afb2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4afb2f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004cb06d
add esp, 8
push 0x7f00
push 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0xf
mov byte [esp + 0x2c], 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x13b]
cmp eax, 0xe6
ja 0x4afe50
cmp esi, 0x28
ja 0x4afe50
mov bh, 0x39
mov byte [esp + 0x1c], 0
mov cl, 0x78
mov dword [0x4db7c0], 0x3ea
mov ch, 0x6f
mov byte [esp + 0x14], bh
mov dl, 0x7e
mov byte [esp + 0x1c], 0
xor cl, bh
mov dword [esp + 0x34], 0
xor ch, bh
mov byte [esp + 0x16], cl
mov al, 0x76
mov byte [esp + 0x1a], ch
mov bl, 0x55
mov dword [esp + 0x38], 0
mov ah, 0x72
lea ecx, [esp + 0x15]
mov dh, 0x5f
xor dl, bh
xor al, bh
mov byte [esp + 0x17], dl
xor bl, bh
mov byte [esp + 0x15], al
xor ah, bh
mov byte [esp + 0x18], bl
xor dh, bh
mov byte [esp + 0x19], ah
xorps xmm0, xmm0
mov byte [esp + 0x1b], dh
movups xmmword [esp + 0x24], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afbf2
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8710
mov bh, 0x15
mov byte [esp + 0x1c], 0
mov cl, 0x7e
mov byte [esp + 0x14], bh
mov ch, 0x6c
mov byte [esp + 0x1c], 0
mov dl, 0x53
mov dword [esp + 0x4c], 0
xor cl, bh
mov dword [esp + 0x50], 0
xor ch, bh
mov byte [esp + 0x16], cl
mov al, 0x65
mov byte [esp + 0x1a], ch
mov bl, 0x61
lea ecx, [esp + 0x15]
mov ah, 0x7b
mov dh, 0x7f
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
xorps xmm0, xmm0
mov byte [esp + 0x1b], dh
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
movups xmmword [esp + 0x3c], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afc71
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b8710
mov byte [esp + 0x14], 0x35
mov al, 0x47
xor al, byte [esp + 0x14]
mov ah, 0x76
mov byte [esp + 0x15], al
mov cl, 0x6c
mov al, byte [esp + 0x14]
mov dl, 0x4d
xor ah, al
mov byte [esp + 0x1d], 0
mov ch, 0x60
mov byte [esp + 0x19], ah
mov dh, 0x5c
mov byte [esp + 0x1d], 0
xor cl, al
xor ch, al
mov bl, 0x51
mov byte [esp + 0x16], cl
mov bh, 0x7d
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.004b74c0
mov dh, 0x3f
mov byte [esp + 0x1b], 0
mov cl, 0x7b
mov byte [esp + 0x14], dh
mov dl, 0x5d
mov byte [esp + 0x1b], 0
mov ch, 6
xor cl, dh
xor ch, dh
mov byte [esp + 0x16], cl
xor dl, dh
mov byte [esp + 0x1a], ch
mov al, 0x50
mov byte [esp + 0x17], dl
mov bl, 0x76
lea ecx, [esp + 0x15]
mov ah, 0xb
xor al, dh
xor bl, dh
mov byte [esp + 0x15], al
xor ah, dh
mov byte [esp + 0x18], bl
lea edx, [esp + 0x3c]
mov byte [esp + 0x19], ah
call fcn.004b8410
test al, al
je 0x4afdb8
mov al, 0x2b
mov byte [esp + 0x14], 0x5e
mov ch, al
mov byte [esp + 0x1d], 0
xor al, byte [esp + 0x14]
mov cl, 0x1c
mov byte [esp + 0x15], al
mov dl, 0xa
mov al, byte [esp + 0x14]
mov dh, 0x2e
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov bl, 0x6d
mov byte [esp + 0x1a], ch
mov ah, 0xc
lea ecx, [esp + 0x15]
xor dl, al
xor dh, al
mov bh, 0x3c
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]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4afda0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7cc0
mov ecx, dword [esp + 0x50]
cmp ecx, 0x10
jb 0x4afdea
mov edx, dword [esp + 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4afde0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4afe27
push ecx
push edx
call fcn.004cb06d
add esp, 8
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0xf
mov byte [esp + 0x3c], 0
cmp ecx, 0x10
jb 0x4afe37
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4afe2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4afe2d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004cb06d
add esp, 8
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x254]
cmp eax, 0xe6
ja 0x4b0d91
cmp esi, 0x28
ja 0x4b0d91
push 0x7f00
push 0
mov dword [0x4db7c0], 0x3eb
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
mov byte [esp + 0x14], 0xd
mov al, 0x6e
xor al, byte [esp + 0x14]
mov cl, 0x69
mov ch, 0x3a
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov dl, 0x7a
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov dh, 0x4e
mov byte [esp + 0x1a], ch
mov bl, 0x3c
mov byte [esp + 0x1d], 0
mov ah, 0x65
mov dword [esp + 0x34], 0
xor dl, al
mov dword [esp + 0x38], 0
xor dh, al
mov byte [esp + 0x17], dl
mov bh, 0x4a
mov byte [esp + 0x1b], dh
xor bl, al
lea ecx, [esp + 0x15]
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
xorps xmm0, xmm0
mov byte [esp + 0x1c], bh
movups xmmword [esp + 0x24], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4aff01
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8710
mov byte [esp + 0x14], 0x7b
mov al, 0xf
xor al, byte [esp + 0x14]
mov cl, 0x1d
mov byte [esp + 0x15], al
mov dl, 0x43
mov al, byte [esp + 0x14]
mov ch, 0x1e
mov dh, 0x4a
mov byte [esp + 0x23], 0x14
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, 0x4e
mov byte [esp + 0x1b], dh
mov ah, 0x35
mov byte [esp + 0x1e], 0
mov bh, 0x3c
mov dword [esp + 0x94], 0
xor bl, al
mov dword [esp + 0x98], 0
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
mov al, byte [esp + 0x23]
lea ecx, [esp + 0x15]
xor al, byte [esp + 0x14]
lea edx, [ecx + 1]
xorps xmm0, xmm0
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
movups xmmword [esp + 0x84], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4affa7
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x8c]
call fcn.004b8710
mov byte [esp + 0x14], 0x53
mov al, 0x27
xor al, byte [esp + 0x14]
mov cl, 0x2b
xor cl, byte [esp + 0x14]
mov ah, 0xb
mov byte [esp + 0x15], al
xor dl, dl
mov byte [esp + 0x16], cl
mov ch, 0x1d
mov cl, byte [esp + 0x14]
mov dh, 0x1f
mov byte [esp + 0x23], 0x3c
xor ah, cl
mov al, byte [esp + 0x23]
xor ch, cl
xor al, cl
mov byte [esp + 0x22], 0x3f
mov byte [esp + 0x1d], al
mov bl, 0x18
mov al, byte [esp + 0x22]
mov bh, 5
xor al, cl
mov byte [esp + 0x1f], dl
mov byte [esp + 0x19], ah
xor dl, cl
mov byte [esp + 0x1e], al
xor bl, cl
xor dh, cl
mov byte [esp + 0x1a], ch
xor bh, cl
mov byte [esp + 0x17], dl
lea eax, [esp + 0x15]
mov byte [esp + 0x18], bl
push eax
lea ecx, [esp + 0x88]
mov byte [esp + 0x1f], dh
mov byte [esp + 0x20], bh
mov byte [esp + 0x23], 0
call fcn.004b74c0
mov bh, 0x69
mov byte [esp + 0x1c], 0
mov cl, 0x20
mov byte [esp + 0x14], bh
mov dl, 0x13
mov byte [esp + 0x1c], 0
mov ch, 1
mov dh, 0x1b
xor cl, bh
xor dl, bh
xor ch, bh
mov byte [esp + 0x16], cl
xor dh, bh
mov byte [esp + 0x17], dl
mov al, 0x2c
mov byte [esp + 0x1a], ch
mov bl, 0x58
mov byte [esp + 0x1b], dh
mov ah, 0x5a
lea edx, [esp + 0x84]
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.004b8410
test al, al
je 0x4b010a
mov bh, 0xb
mov byte [esp + 0x1c], 0
mov ah, 0x7b
mov byte [esp + 0x14], bh
mov ch, ah
mov byte [esp + 0x1c], 0
mov cl, 0x44
mov dl, 0x7e
xor cl, bh
xor ch, bh
mov al, 0x72
mov byte [esp + 0x16], cl
mov bl, 0x6d
mov byte [esp + 0x1a], ch
mov dh, 0x40
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b00f2
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7cc0
mov ecx, dword [esp + 0x98]
cmp ecx, 0x10
jb 0x4b0142
mov edx, dword [esp + 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b0138
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b0188
push ecx
push edx
call fcn.004cb06d
add esp, 8
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0xf
mov byte [esp + 0x84], 0
cmp ecx, 0x10
jb 0x4b0198
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b018e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4b018e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004cb06d
add esp, 8
lea edx, [edi - 0x28]
cmp edx, 0x140
ja 0x4b0508
cmp esi, 0x1c1
jl 0x4b0508
cmp esi, 0x1f5
jg 0x4b0508
mov byte [esp + 0x14], 0x75
mov al, 0x1c
xor al, byte [esp + 0x14]
mov ah, 0x41
mov ch, ah
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov cl, 0x3b
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov dl, 0x40
mov byte [esp + 0x1a], ch
mov dh, 0x37
mov byte [esp + 0x1d], 0
mov bl, 0x14
mov dword [esp + 0x64], 0
xor dl, al
mov dword [esp + 0x68], 0
xor dh, al
mov byte [esp + 0x17], dl
mov bh, 0x3a
mov byte [esp + 0x1b], dh
xor bl, al
lea ecx, [esp + 0x15]
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
xorps xmm0, xmm0
mov byte [esp + 0x1c], bh
movups xmmword [esp + 0x54], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0233
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.004b8710
mov byte [esp + 0x14], 0x77
mov al, 0x1f
xor al, byte [esp + 0x14]
mov bl, 0x26
mov byte [esp + 0x15], al
mov ch, bl
mov al, byte [esp + 0x14]
mov cl, 0x3b
mov dl, 0x27
mov byte [esp + 0x22], 0x45
mov dh, 6
mov byte [esp + 0x1e], 0
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 ah, 0x1b
mov byte [esp + 0x1b], dh
mov bh, 0x30
mov dword [esp + 0x34], 0
xor bl, al
mov dword [esp + 0x38], 0
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]
xorps xmm0, xmm0
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
movups xmmword [esp + 0x24], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b02d0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8710
mov dh, 6
mov byte [esp + 0x1b], 0
mov dl, 0x65
mov byte [esp + 0x14], dh
mov cl, 0x47
mov byte [esp + 0x1b], 0
xor cl, dh
xor dl, dh
mov al, 0x71
mov byte [esp + 0x17], dl
mov bl, 0x31
mov byte [esp + 0x16], cl
mov ah, 0x33
mov ch, 0x30
xor al, dh
xor bl, dh
xor ah, dh
mov byte [esp + 0x15], al
xor ch, dh
mov byte [esp + 0x18], bl
lea edx, [esp + 0x15]
mov byte [esp + 0x1a], ch
mov byte [esp + 0x19], ah
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4b0330
mov edi, dword [esp + 0x38]
lea eax, [esp + 0x15]
mov esi, dword [esp + 0x24]
sub edx, ecx
push edx
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x28]
cmp edi, 0x10
push eax
cmovae ecx, esi
call fcn.004b8da0
add esp, 8
test al, al
je 0x4b0481
mov bh, 0x43
mov byte [esp + 0x1c], 0
mov ah, 0x34
mov byte [esp + 0x14], bh
mov ch, ah
mov byte [esp + 0x1c], 0
mov cl, 0x2e
mov dword [esp + 0x34], 0
mov dl, 0x27
mov dword [esp + 0x38], 0
xor cl, bh
xor ch, bh
mov al, 0x3b
mov byte [esp + 0x16], cl
mov bl, 0x76
mov byte [esp + 0x1a], ch
mov dh, 0x16
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
xorps xmm0, xmm0
mov byte [esp + 0x1b], dh
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
movups xmmword [esp + 0x24], xmm0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b03d0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8710
mov bh, 0x1b
mov byte [esp + 0x1c], 0
mov cl, 0x79
mov byte [esp + 0x14], bh
mov bl, 0x2b
mov byte [esp + 0x1c], 0
mov ch, 0x73
mov dl, 0x48
mov dh, bl
xor cl, bh
xor ch, bh
mov byte [esp + 0x16], cl
mov al, 0x61
mov byte [esp + 0x1a], ch
mov ah, 0x23
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0437
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7cc0
mov ecx, dword [esp + 0x38]
cmp ecx, 0x10
jb 0x4b0481
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b0477
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b04d5
push ecx
push edx
call fcn.004cb06d
add esp, 8
cmp edi, 0x10
jb 0x4b04ad
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4b04a3
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b04d5
push ecx
push esi
call fcn.004cb06d
add esp, 8
mov ecx, dword [esp + 0x68]
cmp ecx, 0x10
jb 0x4b04e5
mov edx, dword [esp + 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b04db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4b04db
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004cb06d
add esp, 8
push 0x7f00
push 0
mov dword [0x4db7c0], 1
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x4b0daf
lea eax, [edi - 0x168]
lea ecx, [esi - 0x14]
cmp eax, 0x16
ja 0x4b051f
cmp ecx, 0x14
jbe 0x4af8ad
lea eax, [edi - 0x14a]
cmp eax, 0x12
ja 0x4b053e
cmp ecx, 0x14
ja 0x4b053e
mov dword [0x4db7c0], 3
jmp 0x4af8b7
lea eax, [edi - 0x145]
cmp eax, 0x13
ja 0x4b0563
lea eax, [esi - 0x11d]
cmp eax, 0xf
ja 0x4b0563
mov dword [0x4db7c0], 4
jmp 0x4af8b7
lea eax, [edi - 0x147]
cmp eax, 0x13
ja 0x4b0588
lea eax, [esi - 0x15d]
cmp eax, 0xf
ja 0x4b0588
mov dword [0x4db7c0], 5
jmp 0x4af8b7
lea eax, [edi - 0x97]
cmp eax, 0x14
ja 0x4b088a
cmp esi, 0x22b
jl 0x4b088a
cmp esi, 0x23f
jg 0x4b088a
mov byte [esp + 0x14], 0x7d
mov al, 0x32
xor al, byte [esp + 0x14]
mov cl, 0x37
mov byte [esp + 0x15], al
mov dl, 8
mov al, byte [esp + 0x14]
mov ch, 0x44
mov dh, 0x2a
mov byte [esp + 0x22], 0x27
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, 0x2e
mov byte [esp + 0x1b], dh
mov ah, 0x33
mov byte [esp + 0x1e], 0
mov bh, 0x2b
mov dword [esp + 0x34], 0
xor bl, al
mov dword [esp + 0x38], 0
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]
xorps xmm0, xmm0
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
movups xmmword [esp + 0x24], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0634
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8710
mov dh, 0x72
mov byte [esp + 0x1b], 0
mov al, 3
mov byte [esp + 0x14], dh
mov cl, al
mov byte [esp + 0x1b], 0
mov dl, 0x13
mov dword [esp + 0x64], 0
xor cl, dh
mov dword [esp + 0x68], 0
mov bl, 0x1a
mov byte [esp + 0x16], cl
mov ah, 0x39
mov ch, 1
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
xorps xmm0, xmm0
lea ecx, [esp + 0x15]
mov byte [esp + 0x19], ah
movups xmmword [esp + 0x54], xmm0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b06b0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x5c]
call fcn.004b8710
mov bh, 0x66
mov byte [esp + 0x1c], 0
mov al, 0x30
mov byte [esp + 0x14], bh
mov ah, 0x24
mov byte [esp + 0x1c], 0
xor al, bh
xor ah, bh
mov cl, 0x2a
mov byte [esp + 0x15], al
mov ch, 0x3c
mov byte [esp + 0x19], ah
xor cl, bh
lea eax, [esp + 0x15]
xor ch, bh
mov byte [esp + 0x16], cl
mov dl, 0x10
mov byte [esp + 0x1a], ch
mov dh, 0xd
lea ecx, [esp + 0x54]
mov bl, 0xf
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.004b74c0
mov byte [esp + 0x14], 0x60
mov al, 3
xor al, byte [esp + 0x14]
mov cl, 0x14
mov byte [esp + 0x15], al
mov dl, 1
mov al, byte [esp + 0x14]
mov ch, 0x37
xor cl, al
mov byte [esp + 0x22], 0xa
xor dl, al
mov byte [esp + 0x16], cl
xor ch, al
mov byte [esp + 0x17], dl
mov dh, 0x56
mov byte [esp + 0x1a], ch
xor dh, al
mov byte [esp + 0x1e], 0
mov bl, 0x1a
mov byte [esp + 0x1b], dh
xor bl, al
mov byte [esp + 0x1e], 0
mov ah, 0x55
mov byte [esp + 0x18], bl
xor ah, al
lea edx, [esp + 0x54]
mov bh, 6
mov byte [esp + 0x19], ah
xor bh, al
lea ecx, [esp + 0x15]
mov al, byte [esp + 0x22]
xor al, byte [esp + 0x14]
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
call fcn.004b8410
test al, al
je 0x4b07fc
mov bh, 0x22
mov byte [esp + 0x1c], 0
mov cl, 0x11
mov byte [esp + 0x14], bh
mov ch, 0x1a
mov byte [esp + 0x1c], 0
mov dl, 0x14
xor cl, bh
xor ch, bh
mov byte [esp + 0x16], cl
mov al, 0x78
mov byte [esp + 0x1a], ch
mov bl, 0x10
lea ecx, [esp + 0x15]
mov ah, 0x66
mov dh, 0x6b
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 0x4b07e4
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7cc0
mov ecx, dword [esp + 0x68]
cmp ecx, 0x10
jb 0x4b082e
mov edx, dword [esp + 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b0824
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b086b
push ecx
push edx
call fcn.004cb06d
add esp, 8
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0xf
mov byte [esp + 0x54], 0
cmp ecx, 0x10
jb 0x4b087b
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b0871
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4b0871
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004cb06d
add esp, 8
mov dword [0x4db7c0], 0x3e9
jmp 0x4af8b7
lea eax, [edi - 0xbf]
lea ecx, [esi - 0x22b]
cmp eax, 0x14
ja 0x4b08af
cmp ecx, 0x14
ja 0x4b08af
mov dword [0x4db7c0], 0x3ea
jmp 0x4af8b7
lea eax, [edi - 0xe7]
cmp eax, 0x14
ja 0x4b08ce
cmp ecx, 0x14
ja 0x4b08ce
mov dword [0x4db7c0], 0x3eb
jmp 0x4af8b7
cmp edi, 0x28
jl 0x4b0d2a
cmp edi, 0x168
jg 0x4b0d2a
cmp esi, 0x109
jl 0x4b0a31
cmp esi, 0x13f
jg 0x4b0a31
mov byte [esp + 0x14], 0x3b
mov al, 0x42
xor al, byte [esp + 0x14]
mov cl, 0x56
mov ch, 0x4b
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov dl, 0x5a
xor cl, al
mov byte [esp + 0x1d], 0
xor ch, al
mov byte [esp + 0x16], cl
mov dh, 0x5e
mov byte [esp + 0x1a], ch
mov bl, 0x4c
mov byte [esp + 0x1d], 0
mov ah, 0xd
mov dword [esp + 0x34], 0
xor dl, al
mov dword [esp + 0x38], 0
xor dh, al
mov byte [esp + 0x17], dl
mov bh, 0x74
mov byte [esp + 0x1b], dh
xor bl, al
lea ecx, [esp + 0x15]
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
xorps xmm0, xmm0
mov byte [esp + 0x1c], bh
movups xmmword [esp + 0x24], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0970
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8710
mov dh, 0x44
mov byte [esp + 0x1b], 0
mov al, 0x1e
mov byte [esp + 0x14], dh
mov ah, 0x77
mov byte [esp + 0x1b], 0
xor al, dh
xor ah, dh
mov cl, 0x2f
mov byte [esp + 0x15], al
mov ch, 0x3e
mov byte [esp + 0x19], ah
xor cl, dh
lea eax, [esp + 0x15]
xor ch, dh
mov byte [esp + 0x16], cl
mov dl, 0xe
mov byte [esp + 0x1a], ch
mov bl, 3
lea ecx, [esp + 0x24]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x1b], dl
mov byte [esp + 0x1c], bl
call fcn.004b74c0
mov ecx, dword [esp + 0x38]
cmp ecx, 0x10
jb 0x4b0a0e
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b0a04
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4b0a04
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004cb06d
add esp, 8
push 0x7f01
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4db7c0], 0x7d1
jmp 0x4b0daf
cmp esi, 0x149
jl 0x4b0d2a
cmp esi, 0x17f
jg 0x4b0d2a
mov bh, 0x38
mov byte [esp + 0x1c], 0
mov cl, 0x56
mov byte [esp + 0x14], bh
mov ch, 0x42
mov byte [esp + 0x1c], 0
mov dl, 0x73
mov dword [esp + 0x34], 0
xor cl, bh
mov dword [esp + 0x38], 0
xor ch, bh
mov byte [esp + 0x16], cl
mov al, 0x4a
mov byte [esp + 0x1a], ch
mov bl, 0x6c
lea ecx, [esp + 0x15]
mov ah, 0x41
mov dh, 0x72
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
xorps xmm0, xmm0
mov byte [esp + 0x1b], dh
mov byte [esp + 0x19], ah
lea edx, [ecx + 1]
movups xmmword [esp + 0x24], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0ab0
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b8710
mov byte [esp + 0x14], 0x6f
mov al, 0x37
xor al, byte [esp + 0x14]
mov cl, 0x3e
mov byte [esp + 0x15], al
mov dl, 0x5c
mov al, byte [esp + 0x14]
mov ch, 0xe
mov dh, 0x19
mov byte [esp + 0x22], 0x1a
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, 4
mov byte [esp + 0x1b], dh
mov ah, 2
mov byte [esp + 0x1e], 0
mov bh, 0x5e
mov dword [esp + 0x4c], 0
xor bl, al
mov dword [esp + 0x50], 0
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]
xorps xmm0, xmm0
mov byte [esp + 0x1c], bh
mov byte [esp + 0x1d], al
movups xmmword [esp + 0x3c], xmm0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0b50
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004b8710
mov dh, 0x5c
mov byte [esp + 0x1b], 0
mov al, 0x37
mov byte [esp + 0x14], dh
mov ah, 0xd
mov byte [esp + 0x1b], 0
xor al, dh
xor ah, dh
mov cl, 0x28
mov byte [esp + 0x15], al
mov ch, 0x33
mov byte [esp + 0x19], ah
xor cl, dh
lea eax, [esp + 0x15]
xor ch, dh
mov byte [esp + 0x16], cl
mov dl, 6
mov byte [esp + 0x1a], ch
mov bl, 0x1e
lea ecx, [esp + 0x3c]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x1b], dl
mov byte [esp + 0x1c], bl
call fcn.004b74c0
mov byte [esp + 0x14], 0x50
mov al, 0x3b
xor al, byte [esp + 0x14]
mov dl, 0x66
mov bh, dl
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
mov cl, 0x1b
mov ch, 0x13
mov byte [esp + 0x1d], 0
mov dh, 0x69
mov byte [esp + 0x1d], 0
xor cl, al
xor dl, al
xor ch, al
mov byte [esp + 0x16], cl
xor dh, al
mov byte [esp + 0x17], dl
mov bl, 0x3a
mov byte [esp + 0x1a], ch
mov ah, 0x22
mov byte [esp + 0x1b], dh
xor bl, al
lea edx, [esp + 0x3c]
xor ah, al
mov byte [esp + 0x18], bl
xor bh, al
mov byte [esp + 0x19], ah
lea ecx, [esp + 0x15]
mov byte [esp + 0x1c], bh
call fcn.004b8410
test al, al
je 0x4b0c88
mov bh, 0x4c
mov byte [esp + 0x1c], 0
mov cl, 0x3d
mov byte [esp + 0x14], bh
mov ch, 0x2d
mov byte [esp + 0x1c], 0
mov dl, 0x14
xor cl, bh
xor ch, bh
mov byte [esp + 0x16], cl
mov al, 2
mov byte [esp + 0x1a], ch
mov bl, 0x7f
lea ecx, [esp + 0x15]
mov ah, 0x19
mov dh, 0x1c
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 dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0c70
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.004b7cc0
mov ecx, dword [esp + 0x50]
cmp ecx, 0x10
jb 0x4b0cba
mov edx, dword [esp + 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b0cb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b0cf7
push ecx
push edx
call fcn.004cb06d
add esp, 8
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0xf
mov byte [esp + 0x3c], 0
cmp ecx, 0x10
jb 0x4b0d07
mov edx, dword [esp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b0cfd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4b0cfd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004cb06d
add esp, 8
push 0x7f01
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4db7c0], 0x7d2
jmp 0x4b0daf
lea eax, [edi - 0x46]
cmp eax, 0x104
ja 0x4b0d4e
lea eax, [esi - 0x1f7]
cmp eax, 0x18
ja 0x4b0d4e
mov dword [0x4db7c0], 0xfa1
jmp 0x4af8b7
add esi, 0xfffffe70
cmp edx, 0xa0
ja 0x4b0d70
cmp esi, 0x1b
ja 0x4b0d70
mov dword [0x4db7c0], 0xfa2
jmp 0x4af8b7
lea eax, [edi - 0xe6]
cmp eax, 0x82
ja 0x4b0d91
cmp esi, 0x1b
ja 0x4b0d91
mov dword [0x4db7c0], 0xfa3
jmp 0x4af8b7
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4db7c0], 0
cmp ebp, dword [0x4db7c0]
je 0x4b0e92
mov edi, dword [0x4db870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0xf1b0987d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b0dfd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b0de0
cmp edx, 0x34e39c06
je 0x4b0e03
inc ebx
add esi, 4
jmp 0x4b0dd0
mov eax, dword [ebp + edi + 0x24]
push 0
push 0
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov ebx, dword [0x4db870]
xor edi, edi
mov eax, dword [ebx + 0x3c]
mov ebp, dword [eax + ebx + 0x78]
mov esi, dword [ebp + ebx + 0x20]
add esi, ebx
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x20d73213
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b0e6d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b0e50
cmp edx, 0xf5c82a3e
je 0x4b0e73
inc edi
add esi, 4
jmp 0x4b0e40
mov eax, dword [ebp + ebx + 0x24]
push dword [0x4db864]
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 + 0x9c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004cadd9
add esp, 0x94
ret