Function at 0x4b3950
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports
Terminate process

Disassembly:
sub esp, 0x6fc
mov eax, dword [0x4dc00c]
xor eax, esp
mov dword [esp + 0x6f4], eax
cmp byte [0x4dc7c7], 0
mov eax, dword [0x4dc7cc]
push ebx
push ebp
push esi
push edi
je 0x4b4c27
cmp eax, 2
jne 0x4b3a16
lea eax, [ecx - 0x334]
cmp eax, 0x16
ja 0x4b68cf
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b68cf
xor ecx, ecx
call fcn.004c8680
mov edi, dword [0x4dc87c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x723406fd
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b39ed
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b39d0
cmp edx, 0xdde4996e
je 0x4b39f3
inc ebx
add esi, 4
jmp 0x4b39c0
mov eax, dword [ebp + edi + 0x24]
push 1
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
add esp, 4
jmp 0x4b68cf
cmp eax, 3
jne 0x4b3d79
lea eax, [ecx - 0x316]
cmp eax, 0x12
ja 0x4b68cf
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b68cf
mov edi, dword [0x4dc870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x1feb8540
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b3a7d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3a60
cmp edx, 0x6c9020c9
je 0x4b3a83
inc ebx
add esi, 4
jmp 0x4b3a50
mov eax, dword [ebp + edi + 0x24]
push 6
push dword [0x4dc864]
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 al, 0x75
mov byte [esp + 0x70], 0x2c
mov dl, al
mov byte [esp + 0x79], 0
xor al, byte [esp + 0x70]
mov cl, 0x4a
mov byte [esp + 0x71], al
mov ch, 0x79
mov al, byte [esp + 0x70]
mov ah, 0x7d
xor cl, al
mov byte [esp + 0x79], 0
xor ch, al
mov byte [esp + 0x72], cl
mov dh, 0x1a
mov byte [esp + 0x76], ch
mov bl, 0x4e
lea ecx, [esp + 0x5e4]
mov bh, 0x14
xor dl, al
xor bl, al
mov byte [esp + 0x73], dl
xor ah, al
mov byte [esp + 0x74], bl
xor dh, al
mov byte [esp + 0x75], ah
xor bh, al
mov byte [esp + 0x77], dh
mov byte [esp + 0x78], bh
call fcn.004b8bd0
lea ecx, [esp + 0x71]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3b10
sub ecx, edx
lea eax, [esp + 0x71]
push ecx
push eax
lea ecx, [esp + 0x5ec]
call fcn.004b8860
mov bh, 0x4f
mov byte [esp + 0x1a0], 0
mov cl, 5
mov byte [esp + 0x198], bh
mov ch, 0x27
mov byte [esp + 0x1a0], 0
xor cl, bh
xor ch, bh
mov al, 0x3e
mov byte [esp + 0x19a], cl
mov dl, 0x2b
mov byte [esp + 0x19e], ch
mov ah, 0x39
lea ecx, [esp + 0x584]
mov dh, 0x29
mov bl, 0x3c
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x199], al
xor ah, bh
mov byte [esp + 0x19b], dl
xor dh, bh
mov byte [esp + 0x19c], bl
mov byte [esp + 0x19d], ah
mov byte [esp + 0x19f], dh
call fcn.004b8bd0
lea ecx, [esp + 0x199]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3ba7
sub ecx, edx
lea eax, [esp + 0x199]
push ecx
push eax
lea ecx, [esp + 0x58c]
call fcn.004b8860
mov byte [esp + 0x1c], 0x5a
mov al, 0x29
xor al, byte [esp + 0x1c]
mov cl, 0x35
mov byte [esp + 0x1d], al
mov dl, 0x34
mov al, byte [esp + 0x1c]
mov ch, 3
mov dh, 0x62
mov byte [esp + 0x17], 0x6e
xor cl, al
mov byte [esp + 0x26], 0
xor dl, al
mov byte [esp + 0x1e], cl
xor ch, al
mov byte [esp + 0x1f], dl
xor dh, al
mov byte [esp + 0x22], ch
mov bl, 0x1b
mov byte [esp + 0x23], dh
mov ah, 0x2b
mov byte [esp + 0x26], 0
mov bh, 0x28
lea ecx, [esp + 0x1d]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x20], bl
xor bh, al
mov byte [esp + 0x21], ah
mov al, byte [esp + 0x17]
xor al, byte [esp + 0x1c]
mov byte [esp + 0x24], bh
mov byte [esp + 0x25], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3c32
sub ecx, edx
lea eax, [esp + 0x1d]
push ecx
push eax
lea ecx, [esp + 0x58c]
call fcn.004b7f90
mov dh, 5
mov byte [esp + 0x1e3], 0
mov al, 0x6e
mov byte [esp + 0x1dc], dh
mov ah, 0x6c
mov byte [esp + 0x1e3], 0
mov dl, 0x61
xor al, dh
xor ah, dh
mov byte [esp + 0x1dd], al
mov cl, 0x72
mov byte [esp + 0x1e1], ah
mov ch, 0x7f
lea eax, [esp + 0x1dd]
mov bl, dl
xor cl, dh
xor ch, dh
mov byte [esp + 0x1de], cl
xor dl, dh
mov byte [esp + 0x1e2], ch
xor bl, dh
mov byte [esp + 0x1df], dl
push eax
lea ecx, [esp + 0x588]
mov byte [esp + 0x1e4], bl
call fcn.004b8bf0
test al, al
je 0x4b3d52
mov bh, 0x61
mov byte [esp + 0x1ac], 0
mov cl, 0x34
mov byte [esp + 0x1a4], bh
mov ch, 0x22
mov byte [esp + 0x1ac], 0
mov dl, 0x11
xor cl, bh
xor ch, bh
mov byte [esp + 0x1a6], cl
mov al, 0xd
mov byte [esp + 0x1aa], ch
mov bl, 0x53
lea ecx, [esp + 0x1a5]
mov ah, 0x27
mov dh, 0x54
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x1a7], dl
xor ah, bh
mov byte [esp + 0x1a5], al
xor dh, bh
mov byte [esp + 0x1a8], bl
mov byte [esp + 0x1ab], dh
lea edx, [ecx + 1]
mov byte [esp + 0x1a9], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3d34
sub ecx, edx
lea eax, [esp + 0x1a5]
push ecx
push eax
lea ecx, [esp + 0x5ec]
call fcn.004b7f90
lea ecx, [esp + 0x584]
call fcn.004b7770
lea ecx, [esp + 0x5e4]
call fcn.004b7770
mov dword [0x4dc7c0], 0
jmp 0x4b68cf
cmp eax, 7
jne 0x4b3db7
lea eax, [ecx - 0x8f]
cmp eax, 0x114
ja 0x4b68cf
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b68cf
sub esp, 0x18
mov ecx, esp
push 0x4dc098
call fcn.004b7840
call fcn.004c2700
add esp, 0x18
jmp 0x4b68cf
cmp eax, 6
jne 0x4b41b9
lea eax, [ecx - 0x1b2]
cmp eax, 0x28
ja 0x4b68cf
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b68cf
mov edi, dword [0x4dc870]
xor ebx, ebx
mov byte [0x4dc7c7], 0
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, 0xcc92601
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b3e24
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3e07
cmp edx, 0x3f43d494
je 0x4b3e2a
inc ebx
add esi, 4
jmp 0x4b3df7
mov eax, dword [ebp + edi + 0x24]
push 0
push dword [0x4dc864]
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 ebp, dword [0x4dc870]
xor edi, edi
mov eax, dword [ebp + 0x3c]
mov ebx, dword [eax + ebp + 0x78]
mov esi, dword [ebx + ebp + 0x20]
add esi, ebp
mov ecx, dword [esi]
mov edx, 0x920e18c3
add ecx, ebp
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b3e8d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3e70
cmp edx, 0x5b7a2d5
je 0x4b3e93
inc edi
add esi, 4
jmp 0x4b3e60
mov eax, dword [ebx + ebp + 0x24]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
lea eax, [eax + edi*2]
movzx ecx, word [eax + ebp]
mov eax, dword [ebx + ebp + 0x1c]
lea eax, [eax + ecx*4]
mov ebx, dword [eax + ebp]
add ebx, ebp
call esi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
push 0
sub edi, 0x12c
call esi
push 0
cdq
push 0x258
sub eax, edx
push 0x190
sar eax, 1
push edi
sub eax, 0xc8
push eax
push 0
push dword [0x4dc864]
call ebx
mov ebx, dword [0x4dc880]
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]
mov ecx, dword [esi]
mov edx, 0xc7934295
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b3f2d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3f10
cmp edx, 0x3f366b68
je 0x4b3f33
inc edi
add esi, 4
jmp 0x4b3f00
mov eax, dword [ebp + ebx + 0x24]
push 0xf
push 0xf
push 0x258
lea eax, [eax + edi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [ebp + ebx + 0x1c]
push 0x190
push 0
push 0
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
call eax
mov edi, dword [0x4dc870]
xor ebx, ebx
mov dword [esp + 0x200], eax
mov ecx, dword [edi + 0x3c]
mov ebp, dword [ecx + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x73c0cf91
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b3fad
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3f90
cmp edx, 0xd5a91362
je 0x4b3fb3
inc ebx
add esi, 4
jmp 0x4b3f80
mov eax, dword [ebp + edi + 0x24]
push 0
push dword [esp + 0x204]
push dword [0x4dc864]
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 edi, dword [0x4dc870]
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, 0x3ee2649b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b401d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4000
cmp edx, 0x3a028eac
je 0x4b4023
inc ebx
add esi, 4
jmp 0x4b3ff0
mov eax, dword [ebp + edi + 0x24]
push 0
push 0
push dword [0x4dc864]
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 edi, dword [0x4dc870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xdc045395
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b408d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4070
cmp edx, 0x2ac146d8
je 0x4b4093
inc ebx
add esi, 4
jmp 0x4b4060
mov eax, dword [ebp + edi + 0x24]
push dword [0x4dc864]
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 edi, dword [0x4dc86c]
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, 0x4f03e11b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b40f4
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b40d7
cmp edx, 0xcbfa3c3e
je 0x4b40fa
inc ebx
add esi, 4
jmp 0x4b40c7
mov eax, dword [ebp + edi + 0x24]
push 0xfa
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
cmp byte [0x4dc018], 0
jne 0x4b4143
push 0
push 0x4ce469
mov ecx, 0x4dc098
call fcn.004b7e00
push 0
push 0x4ce469
mov ecx, 0x4dc0c8
call fcn.004b7e00
mov edi, dword [0x4dc870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x931e5d4d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b418d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4170
cmp edx, 0xcb9ae5b8
je 0x4b4193
inc ebx
add esi, 4
jmp 0x4b4160
mov eax, dword [ebp + edi + 0x24]
push 5
push dword [0x4dc864]
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
jmp 0x4b68cf
cmp eax, 4
jne 0x4b41e5
lea eax, [ecx - 0x2c3]
cmp eax, 0x28
ja 0x4b68cf
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b68cf
mov byte [0x4dc019], 1
jmp 0x4b68cf
cmp eax, 5
jne 0x4b4211
lea eax, [ecx - 0x296]
cmp eax, 0x28
ja 0x4b68cf
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b68cf
mov byte [0x4dc019], 0
jmp 0x4b68cf
cmp eax, 0x3f3
jne 0x4b431d
lea eax, [ecx - 0x204]
cmp eax, 0x1a
ja 0x4b68cf
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b68cf
mov edi, dword [0x4dc86c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0xee748d5
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b427d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4260
cmp edx, 0xa8c82880
je 0x4b4283
inc ebx
add esi, 4
jmp 0x4b4250
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d87f0]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
movups xmmword [esp + 0x3f8], xmm0
add edx, edi
mov dword [esp + 0x438], 0x6a7766
movaps xmm0, xmmword [0x4d7ce0]
xor ecx, ecx
movups xmmword [esp + 0x408], xmm0
movaps xmm0, xmmword [0x4d8ac0]
movups xmmword [esp + 0x418], xmm0
movaps xmm0, xmmword [0x4d8710]
movups xmmword [esp + 0x428], xmm0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x3f8]
xor byte [esp + ecx + 0x3f9], al
inc ecx
cmp ecx, 0x42
jb 0x4b42f0
push 5
lea eax, [esp + 0x3fd]
mov byte [esp + 0x43f], 0
push eax
call edx
jmp 0x4b68cf
cmp eax, 0x3f4
jne 0x4b444d
lea eax, [ecx - 0x22f]
cmp eax, 0x1a
ja 0x4b68cf
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b68cf
mov edi, dword [0x4dc86c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xd099cd43
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b438d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4370
cmp edx, 0x229d896
je 0x4b4393
inc ebx
add esi, 4
jmp 0x4b4360
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d8810]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
movups xmmword [esp + 0x220], xmm0
add edx, edi
mov dword [esp + 0x260], 0x73606063
movaps xmm0, xmmword [0x4d7d30]
xor ecx, ecx
movups xmmword [esp + 0x230], xmm0
mov dword [esp + 0x264], 0x68696f75
movaps xmm0, xmmword [0x4d8a60]
movups xmmword [esp + 0x240], xmm0
mov dword [esp + 0x268], 0x7465676b
movaps xmm0, xmmword [0x4d7a40]
movups xmmword [esp + 0x250], xmm0
mov word [esp + 0x26c], 0x69
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x220]
xor byte [esp + ecx + 0x221], al
inc ecx
cmp ecx, 0x4c
jb 0x4b4420
push 5
lea eax, [esp + 0x225]
mov byte [esp + 0x271], 0
push eax
call edx
jmp 0x4b68cf
cmp eax, 0x3f5
jne 0x4b455d
lea eax, [ecx - 0x25a]
cmp eax, 0x1a
ja 0x4b68cf
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b68cf
mov edi, dword [0x4dc86c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xe5e42891
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b44bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b44a0
cmp edx, 0xab58e084
je 0x4b44c3
inc ebx
add esi, 4
jmp 0x4b4490
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d73d0]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
movups xmmword [esp + 0x3b0], xmm0
add edx, edi
mov dword [esp + 0x3f0], 0x27161a33
movaps xmm0, xmmword [0x4d6ab0]
xor ecx, ecx
movups xmmword [esp + 0x3c0], xmm0
mov byte [esp + 0x3f4], 0
movaps xmm0, xmmword [0x4d7030]
movups xmmword [esp + 0x3d0], xmm0
movaps xmm0, xmmword [str.1__0l__m7]
movups xmmword [esp + 0x3e0], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x3b0]
xor byte [esp + ecx + 0x3b1], al
inc ecx
cmp ecx, 0x43
jb 0x4b4530
push 5
lea eax, [esp + 0x3b5]
mov byte [esp + 0x3f8], 0
push eax
call edx
jmp 0x4b68cf
cmp eax, 0x3e9
jne 0x4b68cf
lea eax, [ecx - 0x22]
cmp eax, 0xe6
ja 0x4b68cf
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b68cf
mov eax, dword [0x4dc01c]
test eax, eax
jg 0x4b4597
cmp eax, 0xffffffff
jne 0x4b68cf
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
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x9c5bfef3
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b45dd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b45c0
cmp edx, 0xe83502da
je 0x4b45e3
inc edi
add esi, 4
jmp 0x4b45b0
mov eax, dword [ebp + ebx + 0x24]
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 ch, 0x47
mov byte [esp + 0x1c2], 0
mov dl, 0x22
mov byte [esp + 0x1bc], ch
mov cl, 0x69
mov byte [esp + 0x1c2], 0
mov ah, dl
xor cl, ch
mov al, 0x76
mov byte [esp + 0x1be], cl
mov bl, 0x3f
xor al, ch
xor dl, ch
mov byte [esp + 0x1bd], al
xor bl, ch
mov byte [esp + 0x1bf], dl
xor ah, ch
mov byte [esp + 0x1c0], bl
lea ecx, [esp + 0x207]
mov byte [esp + 0x1c1], ah
call fcn.004b69d0
mov edi, eax
mov ecx, 0x4dc0e0
lea eax, [esp + 0x2c0]
push eax
call fcn.004b74e0
mov ecx, 0x4dc0e0
mov esi, dword [eax]
lea eax, [esp + 0x2c4]
push eax
call fcn.004b7500
push edi
push esi
lea ecx, [esp + 0x50c]
push dword [eax]
call fcn.004b8460
mov ebx, eax
mov byte [esp + 0x1a], 0
mov al, 0x66
mov byte [esp + 0x1a], 0
mov cl, 0x3a
mov byte [esp + 0x18], al
xor cl, al
mov byte [esp + 0x19], cl
lea ecx, [esp + 0x1fe]
call fcn.004b69d0
mov edi, eax
mov ecx, 0x4dc0e0
lea eax, [esp + 0x2d0]
push eax
call fcn.004b74e0
mov ecx, 0x4dc0e0
mov esi, dword [eax]
lea eax, [esp + 0x2c8]
push eax
call fcn.004b7500
push edi
push esi
lea ecx, [esp + 0x4f4]
push dword [eax]
call fcn.004b8460
movaps xmm0, xmmword [str._xtVKCVEI]
mov esi, eax
movups xmmword [esp + 0x208], xmm0
mov dword [esp + 0x218], 0x121c5c0c
xor ecx, ecx
mov word [esp + 0x21c], 0x780d
mov byte [esp + 0x21e], 0
nop word [eax + eax]
mov al, byte [esp + 0x208]
xor byte [esp + ecx + 0x209], al
inc ecx
cmp ecx, 0x15
jb 0x4b4730
lea eax, [esp + 0x209]
mov byte [esp + 0x21e], 0
push eax
mov edx, 0x4dc080
lea ecx, [esp + 0x4d8]
call fcn.004b82e0
add esp, 4
lea ecx, [esp + 0x48c]
mov edx, eax
push esi
call fcn.004b8540
add esp, 4
lea ecx, [esp + 0x19]
mov edx, eax
push ecx
lea ecx, [esp + 0x4c0]
call fcn.004b8400
add esp, 4
lea ecx, [esp + 0x4a4]
mov edx, eax
push ebx
call fcn.004b8540
add esp, 4
lea ecx, [esp + 0x1bd]
mov edx, eax
push ecx
lea ecx, [esp + 0x678]
call fcn.004b8400
add esp, 4
lea ecx, [esp + 0x4a4]
call fcn.004b7770
lea ecx, [esp + 0x4bc]
call fcn.004b7770
lea ecx, [esp + 0x48c]
call fcn.004b7770
lea ecx, [esp + 0x4d4]
call fcn.004b7770
lea ecx, [esp + 0x4ec]
call fcn.004b7770
lea ecx, [esp + 0x504]
call fcn.004b7770
lea ecx, [esp + 0x1ff]
call fcn.004b69d0
mov edi, eax
lea ecx, [esp + 0x674]
lea eax, [esp + 0x2cc]
push eax
call fcn.004b75c0
lea ecx, [esp + 0x674]
mov esi, dword [eax]
lea eax, [esp + 0x2d4]
push eax
call fcn.004b75e0
push edi
push esi
lea ecx, [esp + 0x6f4]
push dword [eax]
call fcn.004b8570
lea ecx, [esp + 0x6ec]
call fcn.004b74d0
mov ecx, eax
call fcn.004a9f20
mov ebx, dword [0x4dc86c]
xor edi, edi
mov dword [esp + 0x200], eax
mov ecx, dword [ebx + 0x3c]
mov ebp, dword [ecx + ebx + 0x78]
mov esi, dword [ebp + ebx + 0x20]
add esi, ebx
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x3314133b
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b48ad
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4890
cmp edx, 0xfa72e09e
je 0x4b48b3
inc edi
add esi, 4
jmp 0x4b4880
mov eax, dword [ebp + ebx + 0x24]
push 0x1f4
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 dh, 0x25
mov byte [esp + 0x1db], 0
mov al, 0x46
mov byte [esp + 0x1d4], dh
mov ah, 0x57
mov byte [esp + 0x1db], 0
xor al, dh
xor ah, dh
mov cl, 0x71
mov byte [esp + 0x1d5], al
mov ch, 0x47
mov byte [esp + 0x1d9], ah
xor cl, dh
lea eax, [esp + 0x1d5]
xor ch, dh
mov byte [esp + 0x1d6], cl
mov dl, 0x4d
mov byte [esp + 0x1da], ch
mov bl, 0x56
lea ecx, [esp + 0x68c]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x1db], dl
mov byte [esp + 0x1dc], bl
call fcn.004b7800
mov byte [esp + 0xe8], 0x5e
mov al, 0x16
xor al, byte [esp + 0xe8]
mov dh, 0x1d
mov byte [esp + 0xe9], al
mov bh, dh
mov al, byte [esp + 0xe8]
mov cl, 0x14
xor cl, al
mov byte [esp + 0x17], 0xe
xor dh, al
mov byte [esp + 0xea], cl
xor bh, al
mov byte [esp + 0xf2], 0
mov dl, 0x2a
mov byte [esp + 0xef], dh
xor dl, al
mov byte [esp + 0xf0], bh
mov ah, 0x69
mov byte [esp + 0xeb], dl
xor ah, al
mov byte [esp + 0xf2], 0
mov ch, 0x2c
mov byte [esp + 0xed], ah
xor ch, al
mov bl, 0x38
xor bl, al
mov byte [esp + 0xee], ch
mov al, byte [esp + 0x17]
lea ecx, [esp + 0x614]
xor al, byte [esp + 0xe8]
mov byte [esp + 0xf1], al
lea eax, [esp + 0xe9]
push eax
mov byte [esp + 0xf0], bl
call fcn.004b7800
mov dh, 0x3f
mov byte [esp + 0x1d3], 0
mov al, 0x5c
mov byte [esp + 0x1cc], dh
mov cl, 0x59
mov dl, 0x56
mov bl, 0x5d
mov ah, 0x4d
mov ch, 0x66
xor al, dh
xor ah, dh
mov byte [esp + 0x1cd], al
xor cl, dh
mov byte [esp + 0x1d1], ah
xor ch, dh
mov byte [esp + 0x1ce], cl
lea eax, [esp + 0x1cd]
mov byte [esp + 0x1d2], ch
xor dl, dh
mov byte [esp + 0x1d3], 0
xor bl, dh
mov byte [esp + 0x1cf], dl
push eax
lea ecx, [esp + 0x618]
mov byte [esp + 0x1d4], bl
call fcn.004b76e0
mov bh, 0x51
mov byte [esp + 0x1f8], 0
mov cl, 0x67
mov byte [esp + 0x1f0], bh
mov dl, 0x3c
mov byte [esp + 0x1f8], 0
mov ch, 0x30
mov dh, 0x27
xor cl, bh
xor dl, bh
xor ch, bh
mov byte [esp + 0x1f2], cl
xor dh, bh
mov byte [esp + 0x1f3], dl
mov al, 0x17
mov byte [esp + 0x1f6], ch
mov bl, 0x66
mov byte [esp + 0x1f7], dh
mov ah, 3
lea edx, [esp + 0x614]
xor al, bh
lea ecx, [esp + 0x1f1]
xor ah, bh
mov byte [esp + 0x1f1], al
xor bl, bh
mov byte [esp + 0x1f5], ah
mov byte [esp + 0x1f4], bl
call fcn.004b8560
test al, al
je 0x4b4b90
mov byte [esp + 0xf4], 0x1a
mov al, 0x50
xor al, byte [esp + 0xf4]
mov cl, 0x69
xor cl, byte [esp + 0xf4]
mov ah, 0x6c
mov byte [esp + 0xf5], al
mov ch, 0x5b
mov byte [esp + 0xf6], cl
mov dl, 0x70
mov cl, byte [esp + 0xf4]
mov dh, 0x5f
mov byte [esp + 0x17], 0x4b
xor ah, cl
mov al, byte [esp + 0x17]
xor ch, cl
xor al, cl
mov byte [esp + 0x16], 0x79
mov byte [esp + 0xfd], al
mov bl, 0x6e
mov al, byte [esp + 0x16]
mov bh, 0x56
xor al, cl
mov byte [esp + 0xf9], ah
mov byte [esp + 0xfe], al
xor dl, cl
xor bl, cl
mov byte [esp + 0xfa], ch
xor dh, cl
mov byte [esp + 0xff], 0
xor bh, cl
mov byte [esp + 0xf7], dl
lea eax, [esp + 0xf5]
mov byte [esp + 0xf8], bl
push eax
lea ecx, [esp + 0x690]
mov byte [esp + 0xff], dh
mov byte [esp + 0x100], bh
mov byte [esp + 0x103], 0
call fcn.004b7710
lea ecx, [esp + 0x614]
call fcn.004b7770
lea ecx, [esp + 0x68c]
call fcn.004b7770
mov edi, dword [0x4dc870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0xe1bd8e64
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b4bed
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4bd0
cmp edx, 0xd7072836
je 0x4b4bf3
inc ebx
add esi, 4
jmp 0x4b4bc0
mov eax, dword [ebp + edi + 0x24]
push dword [esp + 0x200]
push 0x4a9a60
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
xor ecx, ecx
call fcn.004c8680
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov dword [0x4dc7d0], 0
cmp eax, 1
jne 0x4b5096
lea eax, [ecx - 0x168]
cmp eax, 0x16
ja 0x4b6696
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b6696
mov edi, dword [0x4dc86c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0xa1290453
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b4c9d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4c80
cmp edx, 0x2808f543
je 0x4b4ca3
inc ebx
add esi, 4
jmp 0x4b4c70
mov eax, dword [ebp + edi + 0x24]
push dword [0x4dc874]
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 byte [esp + 0x94], 0x52
mov al, 0x60
xor al, byte [esp + 0x94]
mov cl, 0x10
xor cl, byte [esp + 0x94]
mov ch, 0x21
mov byte [esp + 0x95], al
mov dl, 0x15
mov byte [esp + 0x96], cl
mov ah, 0x1d
mov cl, byte [esp + 0x94]
mov dh, 1
mov byte [esp + 0x16], 0x36
xor ch, cl
mov al, byte [esp + 0x16]
mov bl, 0x27
xor al, cl
mov byte [esp + 0x17], 0x2a
mov byte [esp + 0x9d], al
mov bh, 8
mov al, byte [esp + 0x17]
xor dl, cl
xor bl, cl
mov byte [esp + 0x9a], ch
xor ah, cl
mov byte [esp + 0x9f], 0
xor dh, cl
mov byte [esp + 0x97], dl
xor bh, cl
mov byte [esp + 0x98], bl
xor al, cl
mov byte [esp + 0x99], ah
lea ecx, [esp + 0x6a4]
mov byte [esp + 0x9b], dh
mov byte [esp + 0x9c], bh
mov byte [esp + 0x9e], al
mov byte [esp + 0x9f], 0
call fcn.004b8bd0
lea ecx, [esp + 0x95]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4d80
sub ecx, edx
lea eax, [esp + 0x95]
push ecx
push eax
lea ecx, [esp + 0x6ac]
call fcn.004b8860
mov bh, 0x40
mov byte [esp + 0x194], 0
mov ah, 0x26
mov byte [esp + 0x18c], bh
mov cl, 0x2c
mov byte [esp + 0x194], 0
mov ch, 0xa
mov dh, ah
xor cl, bh
xor ch, bh
mov al, 0x14
mov byte [esp + 0x18e], cl
mov dl, 0x37
mov byte [esp + 0x192], ch
mov bl, 0x78
lea ecx, [esp + 0x5b4]
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x18d], al
xor ah, bh
mov byte [esp + 0x18f], dl
xor dh, bh
mov byte [esp + 0x190], bl
mov byte [esp + 0x191], ah
mov byte [esp + 0x193], dh
call fcn.004b8bd0
lea ecx, [esp + 0x18d]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4e20
sub ecx, edx
lea eax, [esp + 0x18d]
push ecx
push eax
lea ecx, [esp + 0x5bc]
call fcn.004b8860
mov byte [esp + 0x100], 0x64
mov al, 0x3e
xor al, byte [esp + 0x100]
mov cl, 0x3c
mov byte [esp + 0x101], al
mov dl, cl
mov al, byte [esp + 0x100]
mov ah, 0xd
mov bh, cl
mov byte [esp + 0x109], 0
xor ah, al
mov byte [esp + 0x109], 0
mov ch, 0x35
mov byte [esp + 0x105], ah
mov dh, 0x23
xor cl, al
xor ch, al
mov byte [esp + 0x102], cl
mov bl, 0x27
mov byte [esp + 0x106], ch
xor dl, al
lea ecx, [esp + 0x5b4]
xor bl, al
mov byte [esp + 0x103], dl
xor dh, al
mov byte [esp + 0x104], bl
xor bh, al
mov byte [esp + 0x107], dh
lea eax, [esp + 0x101]
mov byte [esp + 0x108], bh
push eax
call fcn.004b8bf0
test al, al
je 0x4b500a
mov byte [esp + 0x7c], 0x5b
mov al, 0x35
xor al, byte [esp + 0x7c]
mov cl, 0x22
mov bh, cl
mov byte [esp + 0x7d], al
mov al, byte [esp + 0x7c]
mov ch, 0x15
xor cl, al
mov byte [esp + 0x85], 0
xor ch, al
mov byte [esp + 0x7e], cl
mov dl, 0x31
mov byte [esp + 0x82], ch
mov ah, 0x6c
mov byte [esp + 0x85], 0
mov dh, 0x32
lea ecx, [esp + 0x644]
mov bl, 0xf
xor dl, al
xor bl, al
mov byte [esp + 0x7f], dl
xor ah, al
mov byte [esp + 0x80], bl
xor dh, al
mov byte [esp + 0x81], ah
xor bh, al
mov byte [esp + 0x83], dh
mov byte [esp + 0x84], bh
call fcn.004b8bd0
lea ecx, [esp + 0x7d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4f53
sub ecx, edx
lea eax, [esp + 0x7d]
push ecx
push eax
lea ecx, [esp + 0x64c]
call fcn.004b8860
mov bh, 0x44
mov byte [esp + 0x1b8], 0
mov al, 0x10
mov byte [esp + 0x1b0], bh
mov cl, 0x29
mov byte [esp + 0x1b8], 0
mov ch, 6
mov dl, 0x25
mov bl, al
xor cl, bh
xor ch, bh
mov byte [esp + 0x1b2], cl
mov ah, 0x28
mov byte [esp + 0x1b6], ch
mov dh, 0x2e
lea ecx, [esp + 0x1b1]
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x1b3], dl
xor ah, bh
mov byte [esp + 0x1b1], al
xor dh, bh
mov byte [esp + 0x1b4], bl
mov byte [esp + 0x1b7], dh
lea edx, [ecx + 1]
mov byte [esp + 0x1b5], ah
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4fe0
sub ecx, edx
lea eax, [esp + 0x1b1]
push ecx
push eax
lea ecx, [esp + 0x64c]
call fcn.004b7e00
lea ecx, [esp + 0x644]
call fcn.004b7770
lea ecx, [esp + 0x5b4]
call fcn.004b7770
lea ecx, [esp + 0x6a4]
call fcn.004b7770
xor ecx, ecx
call fcn.004c8680
mov edi, dword [0x4dc87c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0xead296a7
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b506d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b5050
cmp edx, 0xbb7496b8
je 0x4b5073
inc ebx
add esi, 4
jmp 0x4b5040
mov eax, dword [ebp + edi + 0x24]
push 1
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
add esp, 4
jmp 0x4b6696
cmp eax, 2
jne 0x4b5133
lea eax, [ecx - 0x14a]
cmp eax, 0x12
ja 0x4b6696
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b6696
mov edi, dword [0x4dc870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x8bf80ba2
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b50fd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b50e0
cmp edx, 0xcd5eda67
je 0x4b5103
inc ebx
add esi, 4
jmp 0x4b50d0
mov eax, dword [ebp + edi + 0x24]
push 6
push dword [0x4dc864]
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 dword [0x4dc7c0], 0
jmp 0x4b6696
cmp eax, 3
jne 0x4b519a
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b6696
lea eax, [edx - 0x1c1]
cmp eax, 0x34
ja 0x4b6696
cmp byte [0x4dc7c4], 0
jne 0x4b6696
push 0x4aa0f0
lea ecx, [esp + 0x520]
call fcn.004b8e80
lea ecx, [esp + 0x51c]
call fcn.004a8760
cmp dword [esp + 0x520], 0
mov byte [0x4dc7c4], 1
je 0x4b6696
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
cmp eax, 4
jne 0x4b52f7
lea eax, [ecx - 0x147]
cmp eax, 0x13
ja 0x4b6696
lea eax, [edx - 0x15d]
cmp eax, 0xf
ja 0x4b6696
cmp byte [0x4dc7c6], 0
mov al, 0x7e
mov byte [esp + 0x4c], 0x1c
mov cl, 0x7f
sete byte [0x4dc7c6]
mov byte [esp + 0x16], 0x28
xor al, byte [esp + 0x4c]
mov dl, 0x6e
mov byte [esp + 0x4d], al
mov ah, 0x24
mov al, byte [esp + 0x4c]
mov ch, 0x77
xor cl, al
mov byte [esp + 0x56], 0
xor ch, al
mov byte [esp + 0x4e], cl
mov dh, 0x2f
mov byte [esp + 0x52], ch
xor dl, al
mov byte [esp + 0x56], 0
xor ah, al
mov byte [esp + 0x4f], dl
xor dh, al
mov byte [esp + 0x51], ah
mov bl, 0x46
mov byte [esp + 0x53], dh
xor bl, al
lea ecx, [esp + 0x5cc]
mov bh, 0x2c
mov byte [esp + 0x50], bl
xor bh, al
mov al, byte [esp + 0x16]
xor al, byte [esp + 0x4c]
mov byte [esp + 0x54], bh
mov byte [esp + 0x55], al
call fcn.004b8bd0
lea ecx, [esp + 0x4d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5248
sub ecx, edx
lea eax, [esp + 0x4d]
push ecx
push eax
lea ecx, [esp + 0x5d4]
call fcn.004b8860
mov dh, 0xf
mov byte [esp + 0x137], 0
mov cl, 0x40
mov byte [esp + 0x130], dh
mov dl, 0x62
mov byte [esp + 0x137], 0
xor cl, dh
mov al, 0x7c
mov bl, 0x46
mov byte [esp + 0x132], cl
mov ah, 0x3f
mov ch, 0x63
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x133], dl
xor ah, dh
mov byte [esp + 0x131], al
xor ch, dh
mov byte [esp + 0x134], bl
mov byte [esp + 0x136], ch
lea ecx, [esp + 0x131]
mov byte [esp + 0x135], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b52c8
sub ecx, edx
lea eax, [esp + 0x131]
push ecx
push eax
lea ecx, [esp + 0x5d4]
call fcn.004b7f90
lea ecx, [esp + 0x5cc]
call fcn.004b7770
jmp 0x4b6696
cmp eax, 0x138b
jne 0x4b5480
lea eax, [ecx - 0x145]
cmp eax, 0x13
ja 0x4b6696
lea eax, [edx - 0x11d]
cmp eax, 0xf
ja 0x4b6696
push 0
push 0x4ce469
mov ecx, 0x4dc098
call fcn.004b7e00
mov byte [esp + 0x40], 0x43
mov al, 0x26
xor al, byte [esp + 0x40]
mov cl, 5
mov byte [esp + 0x41], al
mov dl, 0x7a
mov al, byte [esp + 0x40]
mov ah, 0x13
xor cl, al
mov byte [esp + 0x16], 0x3a
mov ch, 0x39
mov byte [esp + 0x42], cl
xor ch, al
mov byte [esp + 0x4a], 0
mov dh, 0x2d
mov byte [esp + 0x46], ch
xor dl, al
mov byte [esp + 0x4a], 0
xor ah, al
mov byte [esp + 0x43], dl
xor dh, al
mov byte [esp + 0x45], ah
mov bl, 8
mov byte [esp + 0x47], dh
xor bl, al
lea ecx, [esp + 0x5fc]
mov bh, 0x1a
mov byte [esp + 0x44], bl
xor bh, al
mov al, byte [esp + 0x16]
xor al, byte [esp + 0x40]
mov byte [esp + 0x48], bh
mov byte [esp + 0x49], al
call fcn.004b8bd0
lea ecx, [esp + 0x41]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b53b0
sub ecx, edx
lea eax, [esp + 0x41]
push ecx
push eax
lea ecx, [esp + 0x604]
call fcn.004b8860
mov bh, 0x38
mov byte [esp + 0x140], 0
mov cl, 0x59
mov byte [esp + 0x138], bh
mov ch, cl
mov byte [esp + 0x140], 0
mov dl, 0x4c
xor cl, bh
xor ch, bh
mov byte [esp + 0x13a], cl
mov al, 0x77
mov byte [esp + 0x13e], ch
mov bl, 0xc
lea ecx, [esp + 0x139]
mov ah, 0x7e
mov dh, 0x50
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x13b], dl
xor ah, bh
mov byte [esp + 0x139], al
xor dh, bh
mov byte [esp + 0x13c], bl
mov byte [esp + 0x13f], dh
lea edx, [ecx + 1]
mov byte [esp + 0x13d], ah
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5440
sub ecx, edx
lea eax, [esp + 0x139]
push ecx
push eax
lea ecx, [esp + 0x604]
call fcn.004b7f90
lea ecx, [esp + 0x5fc]
call fcn.004b7770
push 0
push 0x4ce469
mov ecx, 0x4dc0c8
call fcn.004b7e00
jmp 0x4b6696
cmp eax, 5
jne 0x4b54cb
lea eax, [ecx - 0x148]
cmp eax, 0x20
ja 0x4b6696
lea eax, [edx - 0xe1]
cmp eax, 0x20
ja 0x4b6696
cmp dword [0x4dc7c8], 0
je 0x4b54bf
cmp byte [0x4dc019], 0
jne 0x4b54bf
mov dword [0x4dc7c8], 0x12c
mov byte [0x4dc019], 1
jmp 0x4b6696
cmp eax, 6
jne 0x4b5516
lea eax, [ecx - 0x120]
cmp eax, 0x20
ja 0x4b6696
lea eax, [edx - 0xe1]
cmp eax, 0x20
ja 0x4b6696
cmp dword [0x4dc7c8], 0
je 0x4b550a
cmp byte [0x4dc019], 1
jne 0x4b550a
mov dword [0x4dc7c8], 0x12c
mov byte [0x4dc019], 0
jmp 0x4b6696
cmp eax, 0x3e9
jne 0x4b599d
lea eax, [ecx - 0x97]
cmp eax, 0x14
ja 0x4b6696
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b6696
mov byte [esp + 0xa0], 0x3f
mov al, 0x58
xor al, byte [esp + 0xa0]
mov cl, 0xa
mov byte [esp + 0xa1], al
mov ch, 9
mov al, byte [esp + 0xa0]
mov dl, 0x4c
xor cl, al
mov byte [esp + 0xa9], 0
xor ch, al
mov byte [esp + 0xa2], cl
mov ah, 0x4b
mov byte [esp + 0xa6], ch
mov dh, 0x6b
mov byte [esp + 0xa9], 0
mov bl, 7
lea ecx, [esp + 0x65c]
mov bh, 0x77
xor dl, al
xor bl, al
mov byte [esp + 0xa3], dl
xor ah, al
mov byte [esp + 0xa4], bl
xor dh, al
mov byte [esp + 0xa5], ah
xor bh, al
mov byte [esp + 0xa7], dh
mov byte [esp + 0xa8], bh
call fcn.004b8bd0
lea ecx, [esp + 0xa1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b55d1
sub ecx, edx
lea eax, [esp + 0xa1]
push ecx
push eax
lea ecx, [esp + 0x664]
call fcn.004b8860
mov byte [esp + 0x88], 0x4c
mov al, 0x15
xor al, byte [esp + 0x88]
mov cl, 0x25
xor cl, byte [esp + 0x88]
mov dl, 0x3f
mov byte [esp + 0x89], al
mov bl, dl
mov byte [esp + 0x8a], cl
mov ch, 0x22
mov cl, byte [esp + 0x88]
mov ah, 0x26
mov byte [esp + 0x16], 0x3e
xor ch, cl
mov al, byte [esp + 0x16]
mov dh, 1
xor al, cl
mov byte [esp + 0x17], 0x74
mov byte [esp + 0x91], al
mov bh, bl
mov al, byte [esp + 0x17]
xor dl, cl
xor bl, cl
mov byte [esp + 0x8e], ch
xor ah, cl
mov byte [esp + 0x93], 0
xor dh, cl
mov byte [esp + 0x8b], dl
xor bh, cl
mov byte [esp + 0x8c], bl
xor al, cl
mov byte [esp + 0x8d], ah
lea ecx, [esp + 0x56c]
mov byte [esp + 0x8f], dh
mov byte [esp + 0x90], bh
mov byte [esp + 0x92], al
mov byte [esp + 0x93], 0
call fcn.004b8bd0
lea ecx, [esp + 0x89]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b56b0
sub ecx, edx
lea eax, [esp + 0x89]
push ecx
push eax
lea ecx, [esp + 0x574]
call fcn.004b8860
mov byte [esp + 0xac], 0x3f
mov al, 0x4c
xor al, byte [esp + 0xac]
mov cl, 0x46
mov ch, 0x7d
mov byte [esp + 0xad], al
mov al, byte [esp + 0xac]
mov dl, 0x50
xor cl, al
mov byte [esp + 0xb5], 0
xor ch, al
mov byte [esp + 0xae], cl
mov dh, 9
mov byte [esp + 0xb2], ch
mov bl, 7
mov byte [esp + 0xb5], 0
mov ah, 0x59
lea ecx, [esp + 0xad]
xor dl, al
xor dh, al
mov bh, 0x7a
mov byte [esp + 0xaf], dl
xor bl, al
mov byte [esp + 0xb3], dh
xor ah, al
mov byte [esp + 0xb0], bl
xor bh, al
mov byte [esp + 0xb1], ah
mov byte [esp + 0xb4], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5754
sub ecx, edx
lea eax, [esp + 0xad]
push ecx
push eax
lea ecx, [esp + 0x574]
call fcn.004b7f90
mov bh, 0x5e
mov byte [esp + 0x1ec], 0
mov cl, 0x36
mov byte [esp + 0x1e4], bh
mov dl, 0x3f
mov byte [esp + 0x1ec], 0
mov ch, 0x34
mov dh, 0x6f
xor cl, bh
xor dl, bh
xor ch, bh
mov byte [esp + 0x1e6], cl
xor dh, bh
mov byte [esp + 0x1e7], dl
mov al, 0xa
mov byte [esp + 0x1ea], ch
mov bl, 0x6c
mov byte [esp + 0x1eb], dh
mov ah, 8
lea edx, [esp + 0x56c]
xor al, bh
lea ecx, [esp + 0x1e5]
xor ah, bh
mov byte [esp + 0x1e5], al
xor bl, bh
mov byte [esp + 0x1e9], ah
mov byte [esp + 0x1e8], bl
call fcn.004b8560
test al, al
je 0x4b589e
mov byte [esp + 0xb8], 0x1f
mov al, 0x68
xor al, byte [esp + 0xb8]
mov cl, 0x69
mov ch, 0x55
mov byte [esp + 0xb9], al
mov al, byte [esp + 0xb8]
mov dl, 0x2d
xor cl, al
mov byte [esp + 0xc1], 0
xor ch, al
mov byte [esp + 0xba], cl
mov dh, 0x7a
mov byte [esp + 0xbe], ch
mov bl, 0x6c
mov byte [esp + 0xc1], 0
mov ah, 0x47
lea ecx, [esp + 0xb9]
xor dl, al
xor dh, al
mov bh, 0x6a
mov byte [esp + 0xbb], dl
xor bl, al
mov byte [esp + 0xbf], dh
xor ah, al
mov byte [esp + 0xbc], bl
xor bh, al
mov byte [esp + 0xbd], ah
mov byte [esp + 0xc0], bh
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5880
sub ecx, edx
lea eax, [esp + 0xb9]
push ecx
push eax
lea ecx, [esp + 0x664]
call fcn.004b7e00
lea ecx, [esp + 0x56c]
call fcn.004b7770
lea ecx, [esp + 0x65c]
call fcn.004b7770
mov edi, dword [0x4dc86c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x44f2f574
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b58fd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b58e0
cmp edx, 0xff4a4da7
je 0x4b5903
inc ebx
add esi, 4
jmp 0x4b58d0
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d73d0]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
movups xmmword [esp + 0x440], xmm0
add edx, edi
mov dword [esp + 0x480], 0x2d3021
movaps xmm0, xmmword [0x4d6ab0]
xor ecx, ecx
movups xmmword [esp + 0x450], xmm0
movaps xmm0, xmmword [0x4d7620]
movups xmmword [esp + 0x460], xmm0
movaps xmm0, xmmword [0x4d6fc0]
movups xmmword [esp + 0x470], xmm0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x440]
xor byte [esp + ecx + 0x441], al
inc ecx
cmp ecx, 0x42
jb 0x4b5970
push 5
lea eax, [esp + 0x445]
mov byte [esp + 0x487], 0
push eax
call edx
jmp 0x4b6696
cmp eax, 0x3ea
jne 0x4b5e1d
lea eax, [ecx - 0xbf]
cmp eax, 0x14
ja 0x4b6696
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b6696
mov byte [esp + 0xc4], 0x1a
mov al, 0x4e
xor al, byte [esp + 0xc4]
mov cl, 0x49
mov byte [esp + 0xc5], al
mov ch, 0x69
mov al, byte [esp + 0xc4]
mov dl, 0x4c
xor cl, al
mov byte [esp + 0xcd], 0
xor ch, al
mov byte [esp + 0xc6], cl
mov ah, 0x77
mov byte [esp + 0xca], ch
mov dh, 0x23
mov byte [esp + 0xcd], 0
mov bl, 0x22
lea ecx, [esp + 0x6d4]
mov bh, 0x68
xor dl, al
xor bl, al
mov byte [esp + 0xc7], dl
xor ah, al
mov byte [esp + 0xc8], bl
xor dh, al
mov byte [esp + 0xc9], ah
xor bh, al
mov byte [esp + 0xcb], dh
mov byte [esp + 0xcc], bh
call fcn.004b8bd0
lea ecx, [esp + 0xc5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5a58
sub ecx, edx
lea eax, [esp + 0xc5]
push ecx
push eax
lea ecx, [esp + 0x6dc]
call fcn.004b8860
mov byte [esp + 0xd0], 0x60
mov al, 0x13
xor al, byte [esp + 0xd0]
mov cl, 0x12
mov byte [esp + 0xd1], al
mov ch, 0x39
mov al, byte [esp + 0xd0]
mov dl, 0x59
xor cl, al
mov byte [esp + 0xd9], 0
xor ch, al
mov byte [esp + 0xd2], cl
mov ah, 0x31
mov byte [esp + 0xd6], ch
mov dh, 3
mov byte [esp + 0xd9], 0
mov bl, 0x26
lea ecx, [esp + 0x62c]
mov bh, 0x27
xor dl, al
xor bl, al
mov byte [esp + 0xd3], dl
xor ah, al
mov byte [esp + 0xd4], bl
xor dh, al
mov byte [esp + 0xd5], ah
xor bh, al
mov byte [esp + 0xd7], dh
mov byte [esp + 0xd8], bh
call fcn.004b8bd0
lea ecx, [esp + 0xd1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5b08
sub ecx, edx
lea eax, [esp + 0xd1]
push ecx
push eax
lea ecx, [esp + 0x634]
call fcn.004b8860
mov byte [esp + 0x10c], 5
mov al, 0x75
xor al, byte [esp + 0x10c]
mov ah, 0x4d
mov byte [esp + 0x10d], al
mov cl, 0x42
mov al, byte [esp + 0x10c]
mov dl, 0x6b
xor ah, al
mov byte [esp + 0x115], 0
mov ch, 0x72
mov byte [esp + 0x111], ah
mov dh, 0x7c
mov byte [esp + 0x115], 0
xor cl, al
xor ch, al
mov bl, 0x64
mov byte [esp + 0x10e], cl
mov bh, 0x4e
mov byte [esp + 0x112], ch
xor dl, al
lea ecx, [esp + 0x62c]
xor bl, al
mov byte [esp + 0x10f], dl
xor dh, al
mov byte [esp + 0x110], bl
xor bh, al
mov byte [esp + 0x113], dh
lea eax, [esp + 0x10d]
mov byte [esp + 0x114], bh
push eax
call fcn.004b8bf0
test al, al
je 0x4b5cfe
mov byte [esp + 0x124], 0x30
mov al, 0x5d
xor al, byte [esp + 0x124]
mov ah, 0x72
mov byte [esp + 0x125], al
mov cl, 0x7f
mov al, byte [esp + 0x124]
mov dl, 0x7d
xor ah, al
mov byte [esp + 0x12d], 0
mov ch, 6
mov byte [esp + 0x129], ah
mov dh, 0x71
mov byte [esp + 0x12d], 0
xor cl, al
xor ch, al
mov bl, 0x6a
mov byte [esp + 0x126], cl
mov bh, 0x7e
mov byte [esp + 0x12a], ch
xor dl, al
lea ecx, [esp + 0x6bc]
xor bl, al
mov byte [esp + 0x127], dl
xor dh, al
mov byte [esp + 0x128], bl
xor bh, al
mov byte [esp + 0x12b], dh
lea eax, [esp + 0x125]
mov byte [esp + 0x12c], bh
push eax
call fcn.004b7800
mov byte [esp + 0xdc], 0x46
mov al, 0x73
xor al, byte [esp + 0xdc]
mov dl, 0x2a
mov cl, 0x25
mov byte [esp + 0xdd], al
mov al, byte [esp + 0xdc]
mov ch, 0x33
mov dh, dl
mov byte [esp + 0xe5], 0
xor cl, al
mov byte [esp + 0xe5], 0
xor ch, al
mov byte [esp + 0xde], cl
mov bl, 0x1c
mov byte [esp + 0xe2], ch
mov ah, 0x22
lea ecx, [esp + 0xdd]
xor dl, al
xor dh, al
mov bh, 0x2e
mov byte [esp + 0xdf], dl
xor bl, al
mov byte [esp + 0xe3], dh
xor ah, al
mov byte [esp + 0xe0], bl
xor bh, al
mov byte [esp + 0xe1], ah
mov byte [esp + 0xe4], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5cd4
sub ecx, edx
lea eax, [esp + 0xdd]
push ecx
push eax
lea ecx, [esp + 0x6c4]
call fcn.004b7e00
lea ecx, [esp + 0x6bc]
call fcn.004b7770
lea ecx, [esp + 0x62c]
call fcn.004b7770
lea ecx, [esp + 0x6d4]
call fcn.004b7770
mov edi, dword [0x4dc86c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x414875ac
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b5d5d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b5d40
cmp edx, 0x4a42d4bf
je 0x4b5d63
inc ebx
add esi, 4
jmp 0x4b5d30
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d7dd0]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
movups xmmword [esp + 0x270], xmm0
add edx, edi
mov dword [esp + 0x2b0], 0x4b58585b
movaps xmm0, xmmword [0x4d8c60]
xor ecx, ecx
movups xmmword [esp + 0x280], xmm0
mov dword [esp + 0x2b4], 0x5051574d
movaps xmm0, xmmword [0x4d7b40]
movups xmmword [esp + 0x290], xmm0
mov dword [esp + 0x2b8], 0x4c5d5f53
movaps xmm0, xmmword [0x4d8eb0]
movups xmmword [esp + 0x2a0], xmm0
mov word [esp + 0x2bc], 0x51
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x270]
xor byte [esp + ecx + 0x271], al
inc ecx
cmp ecx, 0x4c
jb 0x4b5df0
push 5
lea eax, [esp + 0x275]
mov byte [esp + 0x2c1], 0
push eax
call edx
jmp 0x4b6696
cmp eax, 0x3eb
jne 0x4b5f2d
lea eax, [ecx - 0xe7]
cmp eax, 0x14
ja 0x4b6696
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b6696
mov edi, dword [0x4dc86c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x45af58a1
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b5e8d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b5e70
cmp edx, 0xf0c1d4f4
je 0x4b5e93
inc ebx
add esi, 4
jmp 0x4b5e60
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d7cb0]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
movups xmmword [esp + 0x368], xmm0
add edx, edi
mov dword [esp + 0x3a8], 0x44757950
movaps xmm0, xmmword [0x4d87e0]
xor ecx, ecx
movups xmmword [esp + 0x378], xmm0
mov byte [esp + 0x3ac], 0
movaps xmm0, xmmword [0x4d7a10]
movups xmmword [esp + 0x388], xmm0
movaps xmm0, xmmword [0x4d8aa0]
movups xmmword [esp + 0x398], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x368]
xor byte [esp + ecx + 0x369], al
inc ecx
cmp ecx, 0x43
jb 0x4b5f00
push 5
lea eax, [esp + 0x36d]
mov byte [esp + 0x3b0], 0
push eax
call edx
jmp 0x4b6696
cmp eax, 0xfa1
jne 0x4b604d
lea eax, [ecx - 0x46]
cmp eax, 0x104
ja 0x4b6696
lea eax, [edx - 0x1f7]
cmp eax, 0x18
ja 0x4b6696
push 0x4ce469
mov ecx, 0x4dc0b0
call fcn.004b8bf0
test al, al
je 0x4b6696
mov edi, dword [0x4dc86c]
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, 0xc0fd5965
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b5fae
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b5f91
cmp edx, 0xa0ae7ef0
je 0x4b5fb4
inc ebx
add esi, 4
jmp 0x4b5f81
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d6fe0]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
movups xmmword [esp + 0x320], xmm0
add edx, edi
mov dword [esp + 0x360], 0x7d121b7c
movaps xmm0, xmmword [0x4d67e0]
xor ecx, ecx
movups xmmword [esp + 0x330], xmm0
mov byte [esp + 0x364], 0
movaps xmm0, xmmword [0x4d7370]
movups xmmword [esp + 0x340], xmm0
movaps xmm0, xmmword [0x4d6ac0]
movups xmmword [esp + 0x350], xmm0
nop dword [eax]
mov al, byte [esp + 0x320]
xor byte [esp + ecx + 0x321], al
inc ecx
cmp ecx, 0x43
jb 0x4b6020
push 5
lea eax, [esp + 0x325]
mov byte [esp + 0x368], 0
push eax
call edx
jmp 0x4b6696
cmp eax, 0xfa2
jne 0x4b6084
lea eax, [ecx - 0x28]
cmp eax, 0xa0
ja 0x4b6696
lea eax, [edx - 0x190]
cmp eax, 0x1b
ja 0x4b6696
cmp byte [0x4dc018], 0
sete byte [0x4dc018]
jmp 0x4b6696
cmp eax, 0xfa3
jne 0x4b632d
lea eax, [ecx - 0xe6]
cmp eax, 0x82
ja 0x4b6696
lea eax, [edx - 0x190]
cmp eax, 0x1b
ja 0x4b6696
mov byte [esp + 0x58], 0x37
mov al, 0x60
xor al, byte [esp + 0x58]
mov cl, 0x64
mov byte [esp + 0x59], al
mov ch, 0x43
mov al, byte [esp + 0x58]
mov dl, 0x61
xor cl, al
mov byte [esp + 0x61], 0
xor ch, al
mov byte [esp + 0x5a], cl
mov ah, 0x4e
mov byte [esp + 0x5e], ch
mov dh, 0x71
mov byte [esp + 0x61], 0
mov bl, 0x54
lea ecx, [esp + 0x554]
mov bh, 0x5a
xor dl, al
xor bl, al
mov byte [esp + 0x5b], dl
xor ah, al
mov byte [esp + 0x5c], bl
xor dh, al
mov byte [esp + 0x5d], ah
xor bh, al
mov byte [esp + 0x5f], dh
mov byte [esp + 0x60], bh
call fcn.004b8bd0
lea ecx, [esp + 0x59]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b6117
sub ecx, edx
lea eax, [esp + 0x59]
push ecx
push eax
lea ecx, [esp + 0x55c]
call fcn.004b8860
mov bh, 0x73
mov byte [esp + 0x14c], 0
mov cl, 0x3c
mov byte [esp + 0x144], bh
mov bl, cl
mov byte [esp + 0x14c], 0
mov ch, 0x12
mov dl, 0x31
xor cl, bh
xor ch, bh
mov al, 0x40
mov byte [esp + 0x146], cl
mov ah, 5
mov byte [esp + 0x14a], ch
mov dh, 0x27
lea ecx, [esp + 0x145]
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x147], dl
xor ah, bh
mov byte [esp + 0x145], al
xor dh, bh
mov byte [esp + 0x148], bl
mov byte [esp + 0x14b], dh
lea edx, [ecx + 1]
mov byte [esp + 0x149], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b61a2
sub ecx, edx
lea eax, [esp + 0x145]
push ecx
push eax
lea ecx, [esp + 0x55c]
call fcn.004b7f90
mov byte [esp + 0x64], 0x7b
mov al, 0x49
xor al, byte [esp + 0x64]
mov cl, 0x30
mov ch, 0x36
mov byte [esp + 0x65], al
mov al, byte [esp + 0x64]
mov dl, 0x4a
xor cl, al
mov byte [esp + 0x6d], 0
xor ch, al
mov byte [esp + 0x66], cl
mov dh, 0x32
mov byte [esp + 0x6a], ch
mov bl, 0x1a
mov byte [esp + 0x6d], 0
mov ah, 0x35
lea ecx, [esp + 0x65]
xor dl, al
xor dh, al
mov bh, 0x10
mov byte [esp + 0x67], dl
xor bl, al
mov byte [esp + 0x6b], dh
xor ah, al
mov byte [esp + 0x68], bl
xor bh, al
mov byte [esp + 0x69], ah
mov byte [esp + 0x6c], bh
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b6220
sub ecx, edx
lea eax, [esp + 0x65]
push ecx
push eax
lea ecx, [esp + 0x55c]
call fcn.004b7f90
lea ecx, [esp + 0x554]
call fcn.004b7770
mov edi, dword [0x4dc86c]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0xeb043438
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b628d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b6270
cmp edx, 0xa378b5e3
je 0x4b6293
inc ebx
add esi, 4
jmp 0x4b6260
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d7510]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + edi]
movups xmmword [esp + 0x2d8], xmm0
add edx, edi
mov dword [esp + 0x318], 0x6b040d6a
movaps xmm0, xmmword [0x4d6d70]
xor ecx, ecx
movups xmmword [esp + 0x2e8], xmm0
mov byte [esp + 0x31c], 0
movaps xmm0, xmmword [0x4d7780]
movups xmmword [esp + 0x2f8], xmm0
movaps xmm0, xmmword [0x4d6dc0]
movups xmmword [esp + 0x308], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x2d8]
xor byte [esp + ecx + 0x2d9], al
inc ecx
cmp ecx, 0x43
jb 0x4b6300
push 5
lea eax, [esp + 0x2dd]
mov byte [esp + 0x320], 0
push eax
call edx
jmp 0x4b6696
cmp eax, 0x1389
jne 0x4b6360
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b6696
lea eax, [edx - 0x109]
cmp eax, 0x36
ja 0x4b6696
mov dword [0x4dc7d0], 1
jmp 0x4b6696
cmp eax, 0x138a
jne 0x4b6696
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b6696
lea eax, [edx - 0x149]
cmp eax, 0x36
ja 0x4b6696
mov bh, 0x53
mov byte [esp + 0x158], 0
mov al, 0x61
mov byte [esp + 0x150], bh
mov cl, 0x25
mov byte [esp + 0x158], 0
mov ch, 0x36
mov dh, al
xor cl, bh
xor ch, bh
mov dl, 0x60
mov byte [esp + 0x152], cl
mov ah, 0x2a
mov byte [esp + 0x156], ch
mov bl, 2
lea ecx, [esp + 0x59c]
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x151], al
xor ah, bh
mov byte [esp + 0x153], dl
xor dh, bh
mov byte [esp + 0x154], bl
mov byte [esp + 0x155], ah
mov byte [esp + 0x157], dh
call fcn.004b8bd0
lea ecx, [esp + 0x151]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b6404
sub ecx, edx
lea eax, [esp + 0x151]
push ecx
push eax
lea ecx, [esp + 0x5a4]
call fcn.004b8860
mov byte [esp + 0x34], 0x5a
mov al, 0x2d
xor al, byte [esp + 0x34]
mov cl, 0x2a
mov byte [esp + 0x35], al
mov dl, 0x10
mov al, byte [esp + 0x34]
mov ah, 0x2f
xor cl, al
mov byte [esp + 0x16], 0x18
mov ch, 0x6a
mov byte [esp + 0x36], cl
xor ch, al
mov byte [esp + 0x3e], 0
mov dh, 0x1b
mov byte [esp + 0x3a], ch
xor dl, al
mov byte [esp + 0x3e], 0
xor ah, al
mov byte [esp + 0x37], dl
xor dh, al
mov byte [esp + 0x39], ah
mov bl, 0x31
mov byte [esp + 0x3b], dh
xor bl, al
lea ecx, [esp + 0x53c]
mov bh, 0x63
mov byte [esp + 0x38], bl
xor bh, al
mov al, byte [esp + 0x16]
xor al, byte [esp + 0x34]
mov byte [esp + 0x3c], bh
mov byte [esp + 0x3d], al
call fcn.004b8bd0
lea ecx, [esp + 0x35]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b64a0
sub ecx, edx
lea eax, [esp + 0x35]
push ecx
push eax
lea ecx, [esp + 0x544]
call fcn.004b8860
mov bh, 0x59
mov byte [esp + 0x164], 0
mov cl, 0x1b
mov byte [esp + 0x15c], bh
mov ch, 0x15
mov byte [esp + 0x164], 0
mov dl, 0x2f
xor cl, bh
xor ch, bh
mov byte [esp + 0x15e], cl
mov al, 0x35
mov byte [esp + 0x162], ch
mov bl, 0x1c
lea ecx, [esp + 0x15d]
mov ah, 0xd
mov dh, 0x20
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x15f], dl
xor ah, bh
mov byte [esp + 0x15d], al
xor dh, bh
mov byte [esp + 0x160], bl
mov byte [esp + 0x163], dh
lea edx, [ecx + 1]
mov byte [esp + 0x161], ah
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b6530
sub ecx, edx
lea eax, [esp + 0x15d]
push ecx
push eax
lea ecx, [esp + 0x544]
call fcn.004b7f90
mov byte [esp + 0x118], 7
mov al, 0x56
xor al, byte [esp + 0x118]
mov ah, 0x5e
mov byte [esp + 0x119], al
mov cl, 0x6f
mov al, byte [esp + 0x118]
mov dl, 0x53
xor ah, al
mov byte [esp + 0x121], 0
mov ch, 0x73
mov byte [esp + 0x11d], ah
mov dh, 0x55
mov byte [esp + 0x121], 0
xor cl, al
xor ch, al
mov bl, 0x4e
mov byte [esp + 0x11a], cl
mov bh, 0x51
mov byte [esp + 0x11e], ch
xor dl, al
lea ecx, [esp + 0x53c]
xor bl, al
mov byte [esp + 0x11b], dl
xor dh, al
mov byte [esp + 0x11c], bl
xor bh, al
mov byte [esp + 0x11f], dh
lea eax, [esp + 0x119]
mov byte [esp + 0x120], bh
push eax
call fcn.004b8bf0
test al, al
je 0x4b6674
mov bh, 0x27
mov byte [esp + 0x170], 0
mov cl, 0x66
mov byte [esp + 0x168], bh
mov ch, 0x64
mov byte [esp + 0x170], 0
mov dl, 0x48
xor cl, bh
xor ch, bh
mov byte [esp + 0x16a], cl
mov al, 0x5e
mov byte [esp + 0x16e], ch
mov bl, 0x55
lea ecx, [esp + 0x169]
mov ah, 0x1e
mov dh, 0x63
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x16b], dl
xor ah, bh
mov byte [esp + 0x169], al
xor dh, bh
mov byte [esp + 0x16c], bl
mov byte [esp + 0x16f], dh
lea edx, [ecx + 1]
mov byte [esp + 0x16d], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b6656
sub ecx, edx
lea eax, [esp + 0x169]
push ecx
push eax
lea ecx, [esp + 0x5a4]
call fcn.004b7f90
lea ecx, [esp + 0x53c]
call fcn.004b7770
lea ecx, [esp + 0x59c]
call fcn.004b7770
mov dword [0x4dc7d0], 2
mov al, 0x5f
mov byte [esp + 0x28], 0x68
mov cl, al
mov byte [esp + 0x16], 0x21
xor al, byte [esp + 0x28]
mov dl, 0xd
mov byte [esp + 0x29], al
mov ah, 0x2e
mov al, byte [esp + 0x28]
mov ch, 0x2f
xor cl, al
mov byte [esp + 0x32], 0
xor ch, al
mov byte [esp + 0x2a], cl
mov dh, 0x39
mov byte [esp + 0x2e], ch
xor dl, al
mov byte [esp + 0x32], 0
xor ah, al
mov byte [esp + 0x2b], dl
xor dh, al
mov byte [esp + 0x2d], ah
mov bl, 0x3d
mov byte [esp + 0x2f], dh
xor bl, al
lea ecx, [esp + 0x524]
mov bh, 0x25
mov byte [esp + 0x2c], bl
xor bh, al
mov al, byte [esp + 0x16]
xor al, byte [esp + 0x28]
mov byte [esp + 0x30], bh
mov byte [esp + 0x31], al
call fcn.004b8bd0
lea ecx, [esp + 0x29]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b6710
sub ecx, edx
lea eax, [esp + 0x29]
push ecx
push eax
lea ecx, [esp + 0x52c]
call fcn.004b8860
mov bh, 4
mov byte [esp + 0x17c], 0
mov cl, 0x61
mov byte [esp + 0x174], bh
mov ch, 0x74
mov byte [esp + 0x17c], 0
mov dl, 0x73
xor cl, bh
xor ch, bh
mov byte [esp + 0x176], cl
mov al, 0x68
mov byte [esp + 0x17a], ch
mov bl, 0x4e
lea ecx, [esp + 0x175]
mov ah, 0x35
mov dh, 0x60
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x177], dl
xor ah, bh
mov byte [esp + 0x175], al
xor dh, bh
mov byte [esp + 0x178], bl
mov byte [esp + 0x17b], dh
lea edx, [ecx + 1]
mov byte [esp + 0x179], ah
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b67a0
sub ecx, edx
lea eax, [esp + 0x175]
push ecx
push eax
lea ecx, [esp + 0x52c]
call fcn.004b7f90
mov dh, 0x41
mov byte [esp + 0x1cb], 0
mov al, 0x32
mov byte [esp + 0x1c4], dh
mov ah, 0x79
mov byte [esp + 0x1cb], 0
xor al, dh
xor ah, dh
mov cl, 0x76
mov byte [esp + 0x1c5], al
mov ch, 0x2c
mov byte [esp + 0x1c9], ah
xor cl, dh
lea eax, [esp + 0x1c5]
xor ch, dh
mov byte [esp + 0x1c6], cl
mov dl, 0x2f
mov byte [esp + 0x1ca], ch
mov bl, 0x25
lea ecx, [esp + 0x524]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x1cb], dl
mov byte [esp + 0x1cc], bl
call fcn.004b8bf0
test al, al
je 0x4b68c3
mov bh, 0x13
mov byte [esp + 0x188], 0
mov dl, 0x25
mov byte [esp + 0x180], bh
mov cl, 0x63
mov byte [esp + 0x188], 0
mov bl, dl
mov ah, 0x55
mov ch, 0x65
mov dh, ah
xor cl, bh
xor ch, bh
mov al, 0x5c
mov byte [esp + 0x182], cl
xor dl, bh
mov byte [esp + 0x186], ch
xor al, bh
mov byte [esp + 0x183], dl
xor bl, bh
mov byte [esp + 0x181], al
xor ah, bh
mov byte [esp + 0x184], bl
xor dh, bh
mov byte [esp + 0x185], ah
lea ecx, [esp + 0x181]
mov byte [esp + 0x187], dh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b68a5
sub ecx, edx
lea eax, [esp + 0x181]
push ecx
push eax
lea ecx, [esp + 0x52c]
call fcn.004b7f90
lea ecx, [esp + 0x524]
call fcn.004b7770
mov edi, dword [0x4dc870]
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, 0x435a54db
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b6911
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b68f4
cmp edx, 0x8c45b2ec
je 0x4b6917
inc ebx
add esi, 4
jmp 0x4b68e4
mov eax, dword [ebp + edi + 0x24]
push 0
push 0
push dword [0x4dc864]
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 edi, dword [0x4dc870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x928ba885
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b697d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b6960
cmp edx, 0x239f5d68
je 0x4b6983
inc ebx
add esi, 4
jmp 0x4b6950
mov eax, dword [ebp + edi + 0x24]
push dword [0x4dc864]
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 ecx, dword [esp + 0x704]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004cbdc9
add esp, 0x6fc
ret