Function at 0x4b0ba0
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, 0x6bc
mov eax, dword [0x4d700c]
xor eax, esp
mov dword [esp + 0x6b4], eax
cmp byte [0x4d77c7], 0
mov eax, dword [0x4d77cc]
push ebx
push ebp
push esi
push edi
je 0x4b2844
cmp eax, 2
jne 0x4b0c3d
lea eax, [ecx - 0x334]
cmp eax, 0x16
ja 0x4b37c8
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b37c8
xor ecx, ecx
call fcn.004c48d0
mov edi, dword [0x4d787c]
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, 0x33034aea
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b0c37
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b0c16
cmp edx, 0x5f735b6f
je 0x4b2928
inc ebx
add esi, 4
jmp 0x4b0c06
cmp eax, 3
jne 0x4b0e1d
lea eax, [ecx - 0x316]
cmp eax, 0x12
ja 0x4b37c8
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b37c8
mov edi, dword [0x4d7870]
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, 0xefb5c779
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b0ca3
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b0c86
cmp edx, 0xc035385c
je 0x4b0ca9
inc ebx
add esi, 4
jmp 0x4b0c76
mov eax, dword [ebp + edi + 0x24]
push 6
push dword [0x4d7864]
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, 0x1b
mov byte [esp + 0x12f], 0
mov cl, 0x2d
mov byte [esp + 0x128], dh
mov ch, 0x57
mov byte [esp + 0x12f], 0
xor cl, dh
xor ch, dh
mov al, 0x75
mov byte [esp + 0x12a], cl
mov dl, 0x59
mov byte [esp + 0x12e], ch
mov ah, 0x70
lea ecx, [esp + 0x544]
mov bl, 0x61
xor al, dh
xor dl, dh
mov byte [esp + 0x129], al
xor bl, dh
mov byte [esp + 0x12b], dl
xor ah, dh
mov byte [esp + 0x12c], bl
mov byte [esp + 0x12d], ah
call fcn.004b5a80
lea ecx, [esp + 0x129]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0d40
sub ecx, edx
lea eax, [esp + 0x129]
push ecx
push eax
lea ecx, [esp + 0x54c]
call fcn.004b5700
mov al, 0x65
mov byte [esp + 0x90], 0xa
mov dl, al
mov byte [esp + 0x99], 0
xor al, byte [esp + 0x90]
mov cl, 0x7a
mov ch, 0x3a
mov byte [esp + 0x91], al
mov al, byte [esp + 0x90]
mov dh, 0x66
xor cl, al
mov byte [esp + 0x99], 0
xor ch, al
mov byte [esp + 0x92], cl
mov bl, 0x53
mov byte [esp + 0x96], ch
mov ah, 0x33
lea ecx, [esp + 0x91]
xor dl, al
xor dh, al
mov bh, 0x3d
mov byte [esp + 0x93], dl
xor bl, al
mov byte [esp + 0x97], dh
xor ah, al
mov byte [esp + 0x94], bl
xor bh, al
mov byte [esp + 0x95], ah
mov byte [esp + 0x98], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0de4
sub ecx, edx
lea eax, [esp + 0x91]
push ecx
push eax
lea ecx, [esp + 0x54c]
call fcn.004b4e50
lea ecx, [esp + 0x544]
call fcn.004b4630
mov dword [0x4d77c0], 0
jmp 0x4b37c8
cmp eax, 7
jne 0x4b0e5b
lea eax, [ecx - 0x8f]
cmp eax, 0x114
ja 0x4b37c8
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b37c8
sub esp, 0x18
mov ecx, esp
push 0x4d7098
call fcn.004b4700
call fcn.004bee90
add esp, 0x18
jmp 0x4b37c8
cmp eax, 6
jne 0x4b157a
lea eax, [ecx - 0x1b2]
cmp eax, 0x28
ja 0x4b37c8
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b37c8
mov edi, dword [0x4d7870]
xor ebx, ebx
mov byte [0x4d77c7], 0
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, 0x4650e204
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b0ecd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b0eb0
cmp edx, 0x81738425
je 0x4b0ed3
inc ebx
add esi, 4
jmp 0x4b0ea0
mov eax, dword [ebp + edi + 0x24]
push 0
push dword [0x4d7864]
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 [0x4d7870]
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, 0x875505ae
add ecx, ebp
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b0f3d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b0f20
cmp edx, 0x658c89a0
je 0x4b0f43
inc edi
add esi, 4
jmp 0x4b0f10
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 [0x4d7864]
call ebx
mov ebx, dword [0x4d7880]
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, 0xf920ac96
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b0fdd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b0fc0
cmp edx, 0xc1df7897
je 0x4b0fe3
inc edi
add esi, 4
jmp 0x4b0fb0
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 dword [esp + 0x1ac], eax
mov cl, 0x11
mov al, 0x4b
mov byte [esp + 0x107], 0
mov ch, 0x2a
mov byte [esp + 0x100], al
xor cl, al
mov byte [esp + 0x107], 0
xor ch, al
mov byte [esp + 0x101], cl
mov dl, 0x1e
mov byte [esp + 0x104], ch
mov dh, 0x31
lea ecx, [esp + 0x664]
mov bl, 0x13
mov bh, 0xf
xor dl, al
xor bl, al
xor dh, al
mov byte [esp + 0x102], dl
xor bh, al
mov byte [esp + 0x103], bl
mov byte [esp + 0x105], dh
mov byte [esp + 0x106], bh
call fcn.004b5a80
lea ecx, [esp + 0x101]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1086
sub ecx, edx
lea eax, [esp + 0x101]
push ecx
push eax
lea ecx, [esp + 0x66c]
call fcn.004b5700
mov bh, 1
mov byte [esp + 0x138], 0
mov cl, 0x44
mov byte [esp + 0x130], bh
mov ch, 0x4d
mov byte [esp + 0x138], 0
xor cl, bh
xor ch, bh
mov al, 0x57
mov byte [esp + 0x132], cl
mov dl, 0x71
mov byte [esp + 0x136], ch
mov ah, 0x30
lea ecx, [esp + 0x5d4]
mov dh, 0x60
mov bl, 0x49
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x131], al
xor ah, bh
mov byte [esp + 0x133], dl
xor dh, bh
mov byte [esp + 0x134], bl
mov byte [esp + 0x135], ah
mov byte [esp + 0x137], dh
call fcn.004b5a80
lea ecx, [esp + 0x131]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1120
sub ecx, edx
lea eax, [esp + 0x131]
push ecx
push eax
lea ecx, [esp + 0x5dc]
call fcn.004b5700
mov dh, 0x19
mov byte [esp + 0x16f], 0
mov al, 0x5e
mov byte [esp + 0x168], dh
mov ah, 0x5b
mov byte [esp + 0x16f], 0
xor al, dh
xor ah, dh
mov cl, 0x63
mov byte [esp + 0x169], al
mov ch, 0x43
mov byte [esp + 0x16d], ah
xor cl, dh
lea eax, [esp + 0x169]
xor ch, dh
mov byte [esp + 0x16a], cl
mov dl, 0x6f
mov byte [esp + 0x16e], ch
mov bl, 0x7d
lea ecx, [esp + 0x5d4]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x16f], dl
mov byte [esp + 0x170], bl
call fcn.004b5aa0
test al, al
je 0x4b131a
mov byte [esp + 0x84], 0x5b
mov al, 0x39
xor al, byte [esp + 0x84]
mov cl, 2
xor cl, byte [esp + 0x84]
mov dl, 0x1e
mov byte [esp + 0x85], al
mov ch, 0x36
mov byte [esp + 0x86], cl
mov bh, dl
mov cl, byte [esp + 0x84]
mov ah, 0xd
mov byte [esp + 0x13], 0x2a
xor ch, cl
mov al, byte [esp + 0x13]
mov dh, 9
xor al, cl
mov byte [esp + 0x12], 0x1c
mov byte [esp + 0x8d], al
mov bl, 0x1f
mov al, byte [esp + 0x12]
xor dl, cl
xor bl, cl
mov byte [esp + 0x8a], ch
xor ah, cl
mov byte [esp + 0x8f], 0
xor dh, cl
mov byte [esp + 0x87], dl
xor bh, cl
mov byte [esp + 0x88], bl
xor al, cl
mov byte [esp + 0x89], ah
lea ecx, [esp + 0x52c]
mov byte [esp + 0x8b], dh
mov byte [esp + 0x8c], bh
mov byte [esp + 0x8e], al
mov byte [esp + 0x8f], 0
call fcn.004b5a80
lea ecx, [esp + 0x85]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1270
sub ecx, edx
lea eax, [esp + 0x85]
push ecx
push eax
lea ecx, [esp + 0x534]
call fcn.004b5700
mov byte [esp + 0x78], 0x5a
mov al, 0x15
xor al, byte [esp + 0x78]
mov cl, 0x29
mov ch, 0x1c
mov byte [esp + 0x79], al
mov al, byte [esp + 0x78]
mov bh, cl
xor cl, al
mov byte [esp + 0x81], 0
xor ch, al
mov byte [esp + 0x7a], cl
mov dl, 0x2c
mov byte [esp + 0x7e], ch
mov dh, 0x3e
mov byte [esp + 0x81], 0
mov bl, 0x14
lea ecx, [esp + 0x79]
mov ah, 0x6d
xor dl, al
xor dh, al
mov byte [esp + 0x7b], dl
xor bl, al
mov byte [esp + 0x7f], dh
xor ah, al
mov byte [esp + 0x7c], bl
xor bh, al
mov byte [esp + 0x7d], ah
mov byte [esp + 0x80], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b12f3
sub ecx, edx
lea eax, [esp + 0x79]
push ecx
push eax
lea ecx, [esp + 0x534]
call fcn.004b4cc0
lea ecx, [esp + 0x52c]
call fcn.004b4630
lea ecx, [esp + 0x5d4]
call fcn.004b4630
lea ecx, [esp + 0x664]
call fcn.004b4630
mov edi, dword [0x4d7870]
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, 0xa4f4f6db
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1374
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1357
cmp edx, 0xe7c83d84
je 0x4b137a
inc ebx
add esi, 4
jmp 0x4b1347
mov eax, dword [ebp + edi + 0x24]
push 0
push dword [esp + 0x1b0]
push dword [0x4d7864]
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 [0x4d7870]
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, 0xf5709ffb
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b13e4
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b13c7
cmp edx, 0x1ebf8c8c
je 0x4b13ea
inc ebx
add esi, 4
jmp 0x4b13b7
mov eax, dword [ebp + edi + 0x24]
push 0
push 0
push dword [0x4d7864]
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 [0x4d7870]
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, 0xcd853017
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b144f
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1432
cmp edx, 0xe12fedba
je 0x4b1455
inc ebx
add esi, 4
jmp 0x4b1422
mov eax, dword [ebp + edi + 0x24]
push dword [0x4d7864]
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 [0x4d786c]
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, 0xb566018f
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b14bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b14a0
cmp edx, 0x7a7fd992
je 0x4b14c3
inc ebx
add esi, 4
jmp 0x4b1490
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 [0x4d7018], 0
jne 0x4b150c
push 0
push 0x4c9469
mov ecx, 0x4d7098
call fcn.004b4cc0
push 0
push 0x4c9469
mov ecx, 0x4d70c8
call fcn.004b4cc0
mov edi, dword [0x4d7870]
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, 0x1404fea8
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b154e
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1531
cmp edx, 0x4937de81
je 0x4b1554
inc ebx
add esi, 4
jmp 0x4b1521
mov eax, dword [ebp + edi + 0x24]
push 5
push dword [0x4d7864]
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 0x4b37c8
cmp eax, 4
jne 0x4b1811
lea eax, [ecx - 0x2c3]
cmp eax, 0x28
ja 0x4b37c8
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b37c8
mov bh, 0x24
mov byte [esp + 0x15c], 0
mov al, 0x17
mov byte [esp + 0x154], bh
mov cl, 0x6e
mov byte [esp + 0x15c], 0
mov ch, 0x65
mov dl, al
xor cl, bh
xor ch, bh
mov ah, 0x6f
mov byte [esp + 0x156], cl
mov dh, 0x4f
mov byte [esp + 0x15a], ch
mov bl, 0x76
lea ecx, [esp + 0x67c]
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x155], al
xor ah, bh
mov byte [esp + 0x157], dl
xor dh, bh
mov byte [esp + 0x158], bl
mov byte [esp + 0x159], ah
mov byte [esp + 0x15b], dh
call fcn.004b5a80
lea ecx, [esp + 0x155]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1620
sub ecx, edx
lea eax, [esp + 0x155]
push ecx
push eax
lea ecx, [esp + 0x684]
call fcn.004b5700
mov byte [esp + 0x9c], 0x5e
mov al, 0x1b
xor al, byte [esp + 0x9c]
mov cl, 0x3b
mov byte [esp + 0x9d], al
mov ch, 8
mov al, byte [esp + 0x9c]
mov dl, 0x6a
xor cl, al
mov byte [esp + 0xa5], 0
xor ch, al
mov byte [esp + 0x9e], cl
mov ah, 0x3f
mov byte [esp + 0xa2], ch
mov dh, 0x2b
mov byte [esp + 0xa5], 0
mov bl, 0xb
lea ecx, [esp + 0x514]
mov bh, 0x14
xor dl, al
xor bl, al
mov byte [esp + 0x9f], dl
xor ah, al
mov byte [esp + 0xa0], bl
xor dh, al
mov byte [esp + 0xa1], ah
xor bh, al
mov byte [esp + 0xa3], dh
mov byte [esp + 0xa4], bh
call fcn.004b5a80
lea ecx, [esp + 0x9d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b16d0
sub ecx, edx
lea eax, [esp + 0x9d]
push ecx
push eax
lea ecx, [esp + 0x51c]
call fcn.004b5700
mov dh, 0x29
mov byte [esp + 0x177], 0
mov al, 0x65
mov byte [esp + 0x170], dh
mov ah, 0x6d
mov byte [esp + 0x177], 0
xor al, dh
xor ah, dh
mov cl, 0x42
mov byte [esp + 0x171], al
mov ch, 0x70
mov byte [esp + 0x175], ah
xor cl, dh
lea eax, [esp + 0x171]
xor ch, dh
mov byte [esp + 0x172], cl
mov dl, 0x44
mov byte [esp + 0x176], ch
mov bl, 0x7e
lea ecx, [esp + 0x514]
xor dl, dh
xor bl, dh
push eax
mov byte [esp + 0x177], dl
mov byte [esp + 0x178], bl
call fcn.004b5aa0
test al, al
je 0x4b17ed
mov byte [esp + 0x54], 0x34
mov al, 0x53
xor al, byte [esp + 0x54]
mov bl, 4
mov byte [esp + 0x55], al
mov cl, 0x79
mov al, byte [esp + 0x54]
mov dl, 5
mov ch, 0x7c
mov byte [esp + 0x12], 0x51
mov dh, 0x5a
mov byte [esp + 0x5e], 0
mov bh, bl
mov byte [esp + 0x5e], 0
xor cl, al
xor dl, al
xor ch, al
mov byte [esp + 0x56], cl
xor dh, al
mov byte [esp + 0x5a], ch
mov ah, 0x5d
mov byte [esp + 0x57], dl
xor bl, al
mov byte [esp + 0x5b], dh
xor ah, al
mov byte [esp + 0x58], bl
xor bh, al
mov byte [esp + 0x59], ah
mov al, byte [esp + 0x12]
lea ecx, [esp + 0x55]
xor al, byte [esp + 0x54]
lea edx, [ecx + 1]
mov byte [esp + 0x5c], bh
mov byte [esp + 0x5d], al
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b17d2
sub ecx, edx
lea eax, [esp + 0x55]
push ecx
push eax
lea ecx, [esp + 0x51c]
call fcn.004b4cc0
lea ecx, [esp + 0x514]
call fcn.004b4630
lea ecx, [esp + 0x67c]
call fcn.004b4630
mov byte [0x4d7019], 1
jmp 0x4b37c8
cmp eax, 5
jne 0x4b183d
lea eax, [ecx - 0x296]
cmp eax, 0x28
ja 0x4b37c8
lea eax, [edx - 0x1a]
cmp eax, 0x28
ja 0x4b37c8
mov byte [0x4d7019], 0
jmp 0x4b37c8
cmp eax, 0x3f3
jne 0x4b194d
lea eax, [ecx - 0x204]
cmp eax, 0x1a
ja 0x4b37c8
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b37c8
mov edi, dword [0x4d786c]
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, 0x1ea4dab9
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b18ad
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1890
cmp edx, 0x2bf71d8c
je 0x4b18b3
inc ebx
add esi, 4
jmp 0x4b1880
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d2480]
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 + 0x3e8], xmm0
add edx, edi
mov dword [esp + 0x428], 0x2e3322
movaps xmm0, xmmword [0x4d1b50]
xor ecx, ecx
movups xmmword [esp + 0x3f8], xmm0
movaps xmm0, xmmword [0x4d2790]
movups xmmword [esp + 0x408], xmm0
movaps xmm0, xmmword [0x4d1fc0]
movups xmmword [esp + 0x418], xmm0
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x3e8]
xor byte [esp + ecx + 0x3e9], al
inc ecx
cmp ecx, 0x42
jb 0x4b1920
push 5
lea eax, [esp + 0x3ed]
mov byte [esp + 0x42f], 0
push eax
call edx
jmp 0x4b37c8
cmp eax, 0x3f4
jne 0x4b1a7d
lea eax, [ecx - 0x22f]
cmp eax, 0x1a
ja 0x4b37c8
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b37c8
mov edi, dword [0x4d786c]
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, 0x4b7788f
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b19bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b19a0
cmp edx, 0xdf526dca
je 0x4b19c3
inc ebx
add esi, 4
jmp 0x4b1990
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d1f70]
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 + 0x218], xmm0
add edx, edi
mov dword [esp + 0x258], 0x7141417
movaps xmm0, xmmword [0x4d2840]
xor ecx, ecx
movups xmmword [esp + 0x228], xmm0
mov dword [esp + 0x25c], 0x1c1d1b01
movaps xmm0, xmmword [0x4d1a10]
movups xmmword [esp + 0x238], xmm0
mov dword [esp + 0x260], 0x11131f
movaps xmm0, xmmword [0x4d25f0]
movups xmmword [esp + 0x248], xmm0
mov word [esp + 0x264], 0x1d
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x218]
xor byte [esp + ecx + 0x219], al
inc ecx
cmp ecx, 0x4c
jb 0x4b1a50
push 5
lea eax, [esp + 0x21d]
mov byte [esp + 0x269], 0
push eax
call edx
jmp 0x4b37c8
cmp eax, 0x3f5
jne 0x4b1b8d
lea eax, [ecx - 0x25a]
cmp eax, 0x1a
ja 0x4b37c8
lea eax, [edx - 0x22]
cmp eax, 0x1a
ja 0x4b37c8
mov edi, dword [0x4d786c]
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, 0x5e91fbb5
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1aed
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1ad0
cmp edx, 0xe4fe0160
je 0x4b1af3
inc ebx
add esi, 4
jmp 0x4b1ac0
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d18a0]
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 + 0x2c8], xmm0
add edx, edi
mov dword [esp + 0x308], 0xd3c3019
movaps xmm0, xmmword [0x4d1fa0]
xor ecx, ecx
movups xmmword [esp + 0x2d8], xmm0
mov byte [esp + 0x30c], 0
movaps xmm0, xmmword [0x4d1b90]
movups xmmword [esp + 0x2e8], xmm0
movaps xmm0, xmmword [0x4d2880]
movups xmmword [esp + 0x2f8], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x2c8]
xor byte [esp + ecx + 0x2c9], al
inc ecx
cmp ecx, 0x43
jb 0x4b1b60
push 5
lea eax, [esp + 0x2cd]
mov byte [esp + 0x310], 0
push eax
call edx
jmp 0x4b37c8
cmp eax, 0x3e9
jne 0x4b229d
lea eax, [ecx - 0x22]
cmp eax, 0xe6
ja 0x4b37c8
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b37c8
mov dh, 8
mov byte [esp + 0x10f], 0
mov cl, 0x31
mov byte [esp + 0x108], dh
mov ch, 0x4e
mov byte [esp + 0x10f], 0
xor cl, dh
xor ch, dh
mov al, 0x5b
mov byte [esp + 0x10a], cl
mov dl, 0x41
mov byte [esp + 0x10e], ch
mov ah, 0x64
lea ecx, [esp + 0x694]
mov bl, 0x63
xor al, dh
xor dl, dh
mov byte [esp + 0x109], al
xor bl, dh
mov byte [esp + 0x10b], dl
xor ah, dh
mov byte [esp + 0x10c], bl
mov byte [esp + 0x10d], ah
call fcn.004b5a80
lea ecx, [esp + 0x109]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1c26
sub ecx, edx
lea eax, [esp + 0x109]
push ecx
push eax
lea ecx, [esp + 0x69c]
call fcn.004b5700
mov byte [esp + 0x18], 0x25
mov al, 0x6f
xor al, byte [esp + 0x18]
mov bl, 0x52
mov byte [esp + 0x19], al
mov dh, bl
mov al, byte [esp + 0x18]
mov cl, 0x75
xor cl, al
mov byte [esp + 0x12], 0x6c
mov dl, 0x15
mov byte [esp + 0x1a], cl
mov ah, 0x62
mov byte [esp + 0x22], 0
mov ch, 0x4f
mov byte [esp + 0x22], 0
xor ch, al
xor dl, al
xor bl, al
mov byte [esp + 0x1e], ch
xor ah, al
mov byte [esp + 0x1b], dl
xor dh, al
mov byte [esp + 0x1c], bl
mov bh, 0x61
mov byte [esp + 0x1d], ah
xor bh, al
mov byte [esp + 0x1f], dh
mov al, byte [esp + 0x12]
lea ecx, [esp + 0x574]
xor al, byte [esp + 0x18]
mov byte [esp + 0x20], bh
mov byte [esp + 0x21], al
call fcn.004b5a80
lea ecx, [esp + 0x19]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1cc0
sub ecx, edx
lea eax, [esp + 0x19]
push ecx
push eax
lea ecx, [esp + 0x57c]
call fcn.004b5700
mov byte [esp + 0xe8], 0x30
mov al, 0x4a
xor al, byte [esp + 0xe8]
mov cl, 5
mov byte [esp + 0xe9], al
mov dl, 0x6a
mov al, byte [esp + 0xe8]
mov ah, 0x58
xor cl, al
mov byte [esp + 0x12], 8
xor dl, al
mov byte [esp + 0xea], cl
xor ah, al
mov byte [esp + 0xf2], 0
mov ch, 0x49
mov byte [esp + 0xed], ah
xor ch, al
mov byte [esp + 0xeb], dl
mov dh, 0x47
mov byte [esp + 0xee], ch
xor dh, al
mov byte [esp + 0xf2], 0
mov bl, 0x54
mov byte [esp + 0xef], dh
xor bl, al
lea ecx, [esp + 0x574]
mov bh, 0x72
mov byte [esp + 0xec], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0xe8]
mov byte [esp + 0xf1], al
lea eax, [esp + 0xe9]
push eax
mov byte [esp + 0xf4], bh
call fcn.004b5aa0
test al, al
je 0x4b1ec7
mov dh, 0x26
mov byte [esp + 0x117], 0
mov cl, 0x60
mov byte [esp + 0x110], dh
mov ch, 0x6e
mov byte [esp + 0x117], 0
xor cl, dh
xor ch, dh
mov al, 0x15
mov byte [esp + 0x112], cl
mov dl, 0x14
mov byte [esp + 0x116], ch
mov ah, 0x5f
lea ecx, [esp + 0x55c]
mov bl, 0x4f
xor al, dh
xor dl, dh
mov byte [esp + 0x111], al
xor bl, dh
mov byte [esp + 0x113], dl
xor ah, dh
mov byte [esp + 0x114], bl
mov byte [esp + 0x115], ah
call fcn.004b5a80
lea ecx, [esp + 0x111]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1e00
sub ecx, edx
lea eax, [esp + 0x111]
push ecx
push eax
lea ecx, [esp + 0x564]
call fcn.004b5700
mov byte [esp + 0x6c], 0x29
mov cl, 0x43
xor cl, byte [esp + 0x6c]
mov al, 0x6b
xor al, byte [esp + 0x6c]
mov ch, 0x7d
mov byte [esp + 0x6d], al
mov dl, 0x1c
mov byte [esp + 0x6e], cl
mov dh, 0x5d
mov cl, byte [esp + 0x6c]
mov bl, 0x65
mov byte [esp + 0x12], 0x7e
xor dl, cl
mov al, byte [esp + 0x12]
xor ch, cl
xor al, cl
mov byte [esp + 0x13], 0x51
xor dh, cl
mov byte [esp + 0x75], al
mov al, byte [esp + 0x13]
mov ah, 0x1d
mov bh, 0x11
mov byte [esp + 0x72], ch
xor bl, cl
mov byte [esp + 0x77], 0
xor ah, cl
mov byte [esp + 0x6f], dl
xor bh, cl
mov byte [esp + 0x73], dh
xor al, cl
mov byte [esp + 0x70], bl
lea ecx, [esp + 0x6d]
mov byte [esp + 0x71], ah
mov byte [esp + 0x74], bh
lea edx, [ecx + 1]
mov byte [esp + 0x76], al
mov byte [esp + 0x77], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1ea0
sub ecx, edx
lea eax, [esp + 0x6d]
push ecx
push eax
lea ecx, [esp + 0x564]
call fcn.004b4cc0
lea ecx, [esp + 0x55c]
call fcn.004b4630
lea ecx, [esp + 0x574]
call fcn.004b4630
lea ecx, [esp + 0x694]
call fcn.004b4630
mov eax, dword [0x4d701c]
test eax, eax
jg 0x4b1ef1
cmp eax, 0xffffffff
jne 0x4b37c8
mov ebx, dword [0x4d7870]
xor edi, edi
mov eax, dword [ebx + 0x3c]
mov ebp, dword [eax + ebx + 0x78]
mov esi, dword [ebp + ebx + 0x20]
add esi, ebx
mov ecx, dword [esi]
mov edx, 0xf7e48a37
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b1f33
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b1f16
cmp edx, 0x4e7846e6
je 0x4b1f39
inc edi
add esi, 4
jmp 0x4b1f06
mov eax, dword [ebp + ebx + 0x24]
push 0
push dword [0x4d7864]
lea eax, [eax + edi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [ebp + ebx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
call eax
mov ch, 0x6a
mov byte [esp + 0x166], 0
mov dl, 0xf
mov byte [esp + 0x160], ch
mov cl, 0x44
mov byte [esp + 0x166], 0
mov ah, dl
xor cl, ch
mov al, 0x5b
mov byte [esp + 0x162], cl
mov bl, 0x12
xor al, ch
xor dl, ch
mov byte [esp + 0x161], al
xor bl, ch
mov byte [esp + 0x163], dl
xor ah, ch
mov byte [esp + 0x164], bl
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x165], ah
call fcn.004b38d0
mov edi, eax
mov ecx, 0x4d70e0
lea eax, [esp + 0x268]
push eax
call fcn.004b43d0
mov ecx, 0x4d70e0
mov esi, dword [eax]
lea eax, [esp + 0x26c]
push eax
call fcn.004b43f0
push edi
push esi
lea ecx, [esp + 0x484]
push dword [eax]
call fcn.004b5310
mov ebx, eax
mov byte [esp + 0x16], 0
mov al, 0x1e
mov byte [esp + 0x16], 0
mov cl, 0x42
mov byte [esp + 0x14], al
xor cl, al
mov byte [esp + 0x15], cl
lea ecx, [esp + 0x1a9]
call fcn.004b38d0
mov edi, eax
mov ecx, 0x4d70e0
lea eax, [esp + 0x27c]
push eax
call fcn.004b43d0
mov ecx, 0x4d70e0
mov esi, dword [eax]
lea eax, [esp + 0x270]
push eax
call fcn.004b43f0
push edi
push esi
lea ecx, [esp + 0x46c]
push dword [eax]
call fcn.004b5310
movaps xmm0, xmmword [0x4d25d0]
mov esi, eax
movups xmmword [esp + 0x1b0], xmm0
mov dword [esp + 0x1c0], 0x27296939
xor ecx, ecx
mov word [esp + 0x1c4], 0x4d38
mov byte [esp + 0x1c6], 0
nop dword [eax]
mov al, byte [esp + 0x1b0]
xor byte [esp + ecx + 0x1b1], al
inc ecx
cmp ecx, 0x15
jb 0x4b2080
lea eax, [esp + 0x1b1]
mov byte [esp + 0x1c6], 0
push eax
mov edx, 0x4d7080
lea ecx, [esp + 0x450]
call fcn.004b5190
add esp, 4
lea ecx, [esp + 0x4c4]
mov edx, eax
push esi
call fcn.004b53f0
add esp, 4
lea ecx, [esp + 0x15]
mov edx, eax
push ecx
lea ecx, [esp + 0x4b0]
call fcn.004b52b0
add esp, 4
lea ecx, [esp + 0x494]
mov edx, eax
push ebx
call fcn.004b53f0
add esp, 4
lea ecx, [esp + 0x161]
mov edx, eax
push ecx
lea ecx, [esp + 0x608]
call fcn.004b52b0
add esp, 4
lea ecx, [esp + 0x494]
call fcn.004b4630
lea ecx, [esp + 0x4ac]
call fcn.004b4630
lea ecx, [esp + 0x4c4]
call fcn.004b4630
lea ecx, [esp + 0x44c]
call fcn.004b4630
lea ecx, [esp + 0x464]
call fcn.004b4630
lea ecx, [esp + 0x47c]
call fcn.004b4630
lea ecx, [esp + 0x1aa]
call fcn.004b38d0
mov edi, eax
lea ecx, [esp + 0x604]
lea eax, [esp + 0x274]
push eax
call fcn.004b44b0
lea ecx, [esp + 0x604]
mov esi, dword [eax]
lea eax, [esp + 0x278]
push eax
call fcn.004b44d0
push edi
push esi
lea ecx, [esp + 0x6b4]
push dword [eax]
call fcn.004b5410
lea ecx, [esp + 0x6ac]
call fcn.004b43c0
mov ecx, eax
call fcn.004a9e70
mov ebx, dword [0x4d786c]
xor edi, edi
mov dword [esp + 0x1ac], 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, 0xabe0cfbc
add ecx, ebx
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b21fd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b21e0
cmp edx, 0xaa78ef3f
je 0x4b2203
inc edi
add esi, 4
jmp 0x4b21d0
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 edi, dword [0x4d7870]
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, 0x87f64fb2
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2263
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2246
cmp edx, 0x25f71df8
je 0x4b2269
inc ebx
add esi, 4
jmp 0x4b2236
mov eax, dword [ebp + edi + 0x24]
push dword [esp + 0x1ac]
push 0x4a99b0
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.004c48d0
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
cmp eax, 0x3ea
jne 0x4b2542
lea eax, [ecx - 0x13b]
cmp eax, 0xe6
ja 0x4b37c8
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b37c8
mov al, 0x1c
mov byte [esp + 0xa8], 0x6a
mov dl, al
mov byte [esp + 0xb1], 0
xor al, byte [esp + 0xa8]
mov cl, 9
mov bl, cl
mov byte [esp + 0xa9], al
mov al, byte [esp + 0xa8]
mov ch, 0xb
xor cl, al
mov byte [esp + 0xb1], 0
xor ch, al
mov byte [esp + 0xaa], cl
mov ah, 0xd
mov byte [esp + 0xae], ch
mov dh, 0x3a
lea ecx, [esp + 0x4e4]
mov bh, 0x2b
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.004b5a80
lea ecx, [esp + 0xa9]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2360
sub ecx, edx
lea eax, [esp + 0xa9]
push ecx
push eax
lea ecx, [esp + 0x4ec]
call fcn.004b5700
mov al, 0x22
mov byte [esp + 0x24], 0x14
mov bh, al
mov byte [esp + 0x12], 0x51
xor al, byte [esp + 0x24]
mov cl, 0x71
mov byte [esp + 0x25], al
mov ch, cl
mov al, byte [esp + 0x24]
mov dl, 0x43
mov dh, 0x55
mov byte [esp + 0x2e], 0
xor cl, al
mov byte [esp + 0x2e], 0
xor dl, al
mov byte [esp + 0x26], cl
xor ch, al
mov byte [esp + 0x27], dl
xor dh, al
mov byte [esp + 0x2a], ch
mov bl, 0x23
mov byte [esp + 0x2b], dh
mov ah, 0x5e
lea ecx, [esp + 0x25]
xor bl, al
lea edx, [ecx + 1]
xor ah, al
mov byte [esp + 0x28], bl
xor bh, al
mov byte [esp + 0x29], ah
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x24]
mov byte [esp + 0x2c], bh
mov byte [esp + 0x2d], al
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b23f0
sub ecx, edx
lea eax, [esp + 0x25]
push ecx
push eax
lea ecx, [esp + 0x4ec]
call fcn.004b4e50
mov bh, 0x6c
mov byte [esp + 0x1a4], 0
mov al, 0x16
mov byte [esp + 0x19c], bh
mov ah, 5
mov byte [esp + 0x1a4], 0
xor al, bh
xor ah, bh
mov cl, 0x21
mov byte [esp + 0x19d], al
mov ch, 0xf
mov byte [esp + 0x1a1], ah
xor cl, bh
lea eax, [esp + 0x19d]
xor ch, bh
mov byte [esp + 0x19e], cl
mov dl, 0xe
mov byte [esp + 0x1a2], ch
mov dh, 0x1d
lea ecx, [esp + 0x4e4]
mov bl, 0x3b
xor dl, bh
xor dh, bh
mov byte [esp + 0x19f], dl
xor bl, bh
mov byte [esp + 0x1a3], dh
push eax
mov byte [esp + 0x1a4], bl
call fcn.004b5aa0
test al, al
je 0x4b2531
mov byte [esp + 0xb4], 0x4b
mov al, 0x31
xor al, byte [esp + 0xb4]
mov cl, 0x2d
mov ch, 0xc
mov byte [esp + 0xb5], al
mov al, byte [esp + 0xb4]
mov dl, 0x7e
xor cl, al
mov byte [esp + 0xbd], 0
xor ch, al
mov byte [esp + 0xb6], cl
mov dh, 0x1f
mov byte [esp + 0xba], ch
mov bl, 0x29
mov byte [esp + 0xbd], 0
mov ah, 0xf
lea ecx, [esp + 0xb5]
xor dl, al
xor dh, al
mov bh, 0x26
mov byte [esp + 0xb7], dl
xor bl, al
mov byte [esp + 0xbb], dh
xor ah, al
mov byte [esp + 0xb8], bl
xor bh, al
mov byte [esp + 0xb9], ah
mov byte [esp + 0xbc], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2513
sub ecx, edx
lea eax, [esp + 0xb5]
push ecx
push eax
lea ecx, [esp + 0x4ec]
call fcn.004b4e50
lea ecx, [esp + 0x4e4]
call fcn.004b4630
jmp 0x4b37c8
cmp eax, 0x3eb
jne 0x4b37c8
lea eax, [ecx - 0x254]
cmp eax, 0xe6
ja 0x4b37c8
lea eax, [edx - 0x184]
cmp eax, 0x28
ja 0x4b37c8
mov dh, 0x30
mov byte [esp + 0x11f], 0
mov cl, 0x68
mov byte [esp + 0x118], dh
mov ah, cl
mov byte [esp + 0x11f], 0
mov ch, 0x57
xor cl, dh
xor ch, dh
mov byte [esp + 0x11a], cl
mov al, 0x5a
mov byte [esp + 0x11e], ch
mov dl, 0x5c
lea ecx, [esp + 0x634]
mov bl, 0x67
xor al, dh
xor dl, dh
mov byte [esp + 0x119], al
xor bl, dh
mov byte [esp + 0x11b], dl
xor ah, dh
mov byte [esp + 0x11c], bl
mov byte [esp + 0x11d], ah
call fcn.004b5a80
lea ecx, [esp + 0x119]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b25e0
sub ecx, edx
lea eax, [esp + 0x119]
push ecx
push eax
lea ecx, [esp + 0x63c]
call fcn.004b5700
mov al, 0x39
mov byte [esp + 0x30], 0x7a
mov ah, al
mov byte [esp + 0x12], 9
xor al, byte [esp + 0x30]
mov cl, 0x49
mov byte [esp + 0x31], al
mov bh, cl
mov al, byte [esp + 0x30]
mov dl, 0x32
xor cl, al
mov byte [esp + 0x3a], 0
mov ch, 0x28
mov byte [esp + 0x32], cl
xor ch, al
mov byte [esp + 0x3a], 0
mov dh, 0x31
mov byte [esp + 0x36], ch
xor dl, al
lea ecx, [esp + 0x58c]
xor ah, al
mov byte [esp + 0x33], dl
xor dh, al
mov byte [esp + 0x35], ah
xor bh, al
mov byte [esp + 0x37], dh
mov bl, 0x22
mov byte [esp + 0x38], bh
xor bl, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x30]
mov byte [esp + 0x34], bl
mov byte [esp + 0x39], al
call fcn.004b5a80
lea ecx, [esp + 0x31]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2677
sub ecx, edx
lea eax, [esp + 0x31]
push ecx
push eax
lea ecx, [esp + 0x594]
call fcn.004b5700
mov bh, 0x28
mov byte [esp + 0x198], 0
mov al, 0x5a
mov byte [esp + 0x190], bh
mov ah, 0x61
mov byte [esp + 0x198], 0
xor al, bh
xor ah, bh
mov cl, 0x18
mov byte [esp + 0x191], al
mov ch, 0x4b
mov byte [esp + 0x195], ah
xor cl, bh
lea eax, [esp + 0x191]
xor ch, bh
mov byte [esp + 0x192], cl
mov dl, 0x50
mov byte [esp + 0x196], ch
mov dh, 0x5b
lea ecx, [esp + 0x58c]
mov bl, 0x65
xor dl, bh
xor dh, bh
mov byte [esp + 0x193], dl
xor bl, bh
mov byte [esp + 0x197], dh
push eax
mov byte [esp + 0x198], bl
call fcn.004b5aa0
test al, al
je 0x4b2827
mov bh, 0x64
mov byte [esp + 0x18c], 0
mov al, 0x21
mov byte [esp + 0x184], bh
mov ah, 0x25
mov byte [esp + 0x18c], 0
xor al, bh
xor ah, bh
mov cl, 0x34
mov byte [esp + 0x185], al
mov ch, 0x12
mov byte [esp + 0x189], ah
xor cl, bh
lea eax, [esp + 0x185]
xor ch, bh
mov byte [esp + 0x186], cl
mov dl, 0x14
mov byte [esp + 0x18a], ch
mov dh, 0x54
lea ecx, [esp + 0x61c]
mov bl, 0x15
xor dl, bh
xor dh, bh
mov byte [esp + 0x187], dl
xor bl, bh
mov byte [esp + 0x18b], dh
push eax
mov byte [esp + 0x18c], bl
call fcn.004b46c0
mov byte [esp + 0x48], 0x74
mov al, 5
xor al, byte [esp + 0x48]
mov cl, 0x2e
mov dh, cl
mov byte [esp + 0x49], al
mov al, byte [esp + 0x48]
mov dl, 0x3a
mov ch, 0x1e
mov byte [esp + 0x12], 0x31
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, 0x1c
mov byte [esp + 0x4f], dh
mov ah, 0x42
mov byte [esp + 0x52], 0
mov bh, 0x1d
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 0x4b2800
sub ecx, edx
lea eax, [esp + 0x49]
push ecx
push eax
lea ecx, [esp + 0x624]
call fcn.004b4cc0
lea ecx, [esp + 0x61c]
call fcn.004b4630
lea ecx, [esp + 0x58c]
call fcn.004b4630
lea ecx, [esp + 0x634]
call fcn.004b4630
jmp 0x4b37c8
mov dword [0x4d77d0], 0
cmp eax, 1
jne 0x4b294b
lea eax, [ecx - 0x168]
cmp eax, 0x16
ja 0x4b37c8
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b37c8
mov edi, dword [0x4d786c]
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, 0x95bb8035
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b28b4
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2897
cmp edx, 0xa8257a75
je 0x4b28ba
inc ebx
add esi, 4
jmp 0x4b2887
mov eax, dword [ebp + edi + 0x24]
push dword [0x4d7874]
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.004c48d0
mov edi, dword [0x4d787c]
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, 0x6d49662d
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2922
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2905
cmp edx, 0x900924de
je 0x4b2928
inc ebx
add esi, 4
jmp 0x4b28f5
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 0x4b37c8
cmp eax, 2
jne 0x4b29e7
lea eax, [ecx - 0x14a]
cmp eax, 0x12
ja 0x4b37c8
lea eax, [edx - 0x14]
cmp eax, 0x14
ja 0x4b37c8
mov edi, dword [0x4d7870]
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, 0x1369c9b6
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b29b1
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2994
cmp edx, 0xf8477503
je 0x4b29b7
inc ebx
add esi, 4
jmp 0x4b2984
mov eax, dword [ebp + edi + 0x24]
push 6
push dword [0x4d7864]
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 [0x4d77c0], 0
jmp 0x4b37c8
cmp eax, 3
jne 0x4b2a4e
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b37c8
lea eax, [edx - 0x1c1]
cmp eax, 0x34
ja 0x4b37c8
cmp byte [0x4d77c4], 0
jne 0x4b37c8
push 0x4aa040
lea ecx, [esp + 0x4e0]
call fcn.004b5d30
lea ecx, [esp + 0x4dc]
call fcn.004a8760
cmp dword [esp + 0x4e0], 0
mov byte [0x4d77c4], 1
je 0x4b37c8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
cmp eax, 4
jne 0x4b2a84
lea eax, [ecx - 0x147]
cmp eax, 0x13
ja 0x4b37c8
lea eax, [edx - 0x15d]
cmp eax, 0xf
ja 0x4b37c8
cmp byte [0x4d77c6], 0
sete byte [0x4d77c6]
jmp 0x4b37c8
cmp eax, 0x138b
jne 0x4b2d4f
lea eax, [ecx - 0x145]
cmp eax, 0x13
ja 0x4b37c8
lea eax, [edx - 0x11d]
cmp eax, 0xf
ja 0x4b37c8
push 0
push 0x4c9469
mov ecx, 0x4d7098
call fcn.004b4cc0
mov al, 0x2c
mov byte [esp + 0x3c], 0x75
mov dh, al
mov byte [esp + 0x12], 0x47
xor al, byte [esp + 0x3c]
mov cl, 0x3d
mov byte [esp + 0x3d], al
mov dl, 0x44
mov al, byte [esp + 0x3c]
mov ah, 0x1c
xor cl, al
mov byte [esp + 0x46], 0
mov ch, 0x41
mov byte [esp + 0x3e], cl
xor ch, al
mov byte [esp + 0x46], 0
xor dl, al
mov byte [esp + 0x42], ch
xor ah, al
mov byte [esp + 0x3f], dl
xor dh, al
mov byte [esp + 0x41], ah
mov bl, 5
mov byte [esp + 0x43], dh
xor bl, al
lea ecx, [esp + 0x64c]
mov bh, 0x3f
mov byte [esp + 0x40], bl
xor bh, al
mov al, byte [esp + 0x12]
xor al, byte [esp + 0x3c]
mov byte [esp + 0x44], bh
mov byte [esp + 0x45], al
call fcn.004b5a80
lea ecx, [esp + 0x3d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2b37
sub ecx, edx
lea eax, [esp + 0x3d]
push ecx
push eax
lea ecx, [esp + 0x654]
call fcn.004b5700
mov cl, 0x17
mov byte [esp + 0x60], 0x70
mov bh, cl
mov byte [esp + 0x12], 0x42
xor cl, byte [esp + 0x60]
mov al, 9
xor al, byte [esp + 0x60]
mov dl, 5
mov byte [esp + 0x61], al
mov ch, 0x18
mov al, byte [esp + 0x12]
mov bl, dl
mov byte [esp + 0x62], cl
mov ah, 0x1a
mov cl, byte [esp + 0x60]
mov dh, 0x39
xor al, cl
mov byte [esp + 0x13], 0x28
mov byte [esp + 0x69], al
xor ch, cl
mov al, byte [esp + 0x13]
xor dl, cl
xor bl, cl
mov byte [esp + 0x66], ch
xor ah, cl
mov byte [esp + 0x6b], 0
xor dh, cl
mov byte [esp + 0x63], dl
xor bh, cl
mov byte [esp + 0x64], bl
xor al, cl
mov byte [esp + 0x65], ah
lea ecx, [esp + 0x4fc]
mov byte [esp + 0x67], dh
mov byte [esp + 0x68], bh
mov byte [esp + 0x6a], al
mov byte [esp + 0x6b], 0
call fcn.004b5a80
lea ecx, [esp + 0x61]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2be0
sub ecx, edx
lea eax, [esp + 0x61]
push ecx
push eax
lea ecx, [esp + 0x504]
call fcn.004b5700
mov bh, 0x5d
mov byte [esp + 0x180], 0
mov al, 0x33
mov byte [esp + 0x178], bh
mov ah, 0x15
mov byte [esp + 0x180], 0
xor al, bh
xor ah, bh
mov cl, 0x1f
mov byte [esp + 0x179], al
mov ch, 0x3c
mov byte [esp + 0x17d], ah
xor cl, bh
lea eax, [esp + 0x179]
xor ch, bh
mov byte [esp + 0x17a], cl
mov dl, 0x27
mov byte [esp + 0x17e], ch
mov dh, 0x3f
lea ecx, [esp + 0x4fc]
mov bl, 0x29
xor dl, bh
xor dh, bh
mov byte [esp + 0x17b], dl
xor bl, bh
mov byte [esp + 0x17f], dh
push eax
mov byte [esp + 0x180], bl
call fcn.004b5aa0
test al, al
je 0x4b2d21
mov byte [esp + 0xc0], 0x1e
mov al, 0x2d
xor al, byte [esp + 0xc0]
mov cl, 0x47
mov ch, 0x77
mov byte [esp + 0xc1], al
mov al, byte [esp + 0xc0]
mov dl, 0x27
xor cl, al
mov byte [esp + 0xc9], 0
xor ch, al
mov byte [esp + 0xc2], cl
mov dh, 0x7d
mov byte [esp + 0xc6], ch
mov bl, 0x68
mov byte [esp + 0xc9], 0
mov ah, 0x74
lea ecx, [esp + 0xc1]
xor dl, al
xor dh, al
mov bh, 0x26
mov byte [esp + 0xc3], dl
xor bl, al
mov byte [esp + 0xc7], dh
xor ah, al
mov byte [esp + 0xc4], bl
xor bh, al
mov byte [esp + 0xc5], ah
mov byte [esp + 0xc8], bh
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b2d03
sub ecx, edx
lea eax, [esp + 0xc1]
push ecx
push eax
lea ecx, [esp + 0x504]
call fcn.004b4cc0
lea ecx, [esp + 0x4fc]
call fcn.004b4630
lea ecx, [esp + 0x64c]
call fcn.004b4630
push 0
push 0x4c9469
mov ecx, 0x4d70c8
call fcn.004b4cc0
jmp 0x4b37c8
cmp eax, 5
jne 0x4b2d9a
lea eax, [ecx - 0x148]
cmp eax, 0x20
ja 0x4b37c8
lea eax, [edx - 0xe1]
cmp eax, 0x20
ja 0x4b37c8
cmp dword [0x4d77c8], 0
je 0x4b2d8e
cmp byte [0x4d7019], 0
jne 0x4b2d8e
mov dword [0x4d77c8], 0x12c
mov byte [0x4d7019], 1
jmp 0x4b37c8
cmp eax, 6
jne 0x4b2de5
lea eax, [ecx - 0x120]
cmp eax, 0x20
ja 0x4b37c8
lea eax, [edx - 0xe1]
cmp eax, 0x20
ja 0x4b37c8
cmp dword [0x4d77c8], 0
je 0x4b2dd9
cmp byte [0x4d7019], 1
jne 0x4b2dd9
mov dword [0x4d77c8], 0x12c
mov byte [0x4d7019], 0
jmp 0x4b37c8
cmp eax, 0x3e9
jne 0x4b2eed
lea eax, [ecx - 0x97]
cmp eax, 0x14
ja 0x4b37c8
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b37c8
mov edi, dword [0x4d786c]
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, 0xc9fd68e6
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2e50
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2e33
cmp edx, 0x7d1121a9
je 0x4b2e56
inc ebx
add esi, 4
jmp 0x4b2e23
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d2e80]
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 + 0x3a0], xmm0
add edx, edi
mov dword [esp + 0x3e0], 0x534e5f
movaps xmm0, xmmword [0x4d3b70]
xor ecx, ecx
movups xmmword [esp + 0x3b0], xmm0
movaps xmm0, xmmword [0x4d2c20]
movups xmmword [esp + 0x3c0], xmm0
movaps xmm0, xmmword [0x4d3480]
movups xmmword [esp + 0x3d0], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x3a0]
xor byte [esp + ecx + 0x3a1], al
inc ecx
cmp ecx, 0x42
jb 0x4b2ec0
push 5
lea eax, [esp + 0x3a5]
mov byte [esp + 0x3e7], 0
push eax
call edx
jmp 0x4b37c8
cmp eax, 0x3ea
jne 0x4b301d
lea eax, [ecx - 0xbf]
cmp eax, 0x14
ja 0x4b37c8
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b37c8
mov edi, dword [0x4d786c]
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, 0x5dd04c45
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b2f5d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b2f40
cmp edx, 0x28f94f50
je 0x4b2f63
inc ebx
add esi, 4
jmp 0x4b2f30
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d37e0]
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 + 0x1c8], xmm0
add edx, edi
mov dword [esp + 0x208], 0x7b68686b
movaps xmm0, xmmword [0x4d2b60]
xor ecx, ecx
movups xmmword [esp + 0x1d8], xmm0
mov dword [esp + 0x20c], 0x6061677d
movaps xmm0, xmmword [0x4d3d60]
movups xmmword [esp + 0x1e8], xmm0
mov dword [esp + 0x210], 0x7c6d6f63
movaps xmm0, xmmword [0x4d2de0]
movups xmmword [esp + 0x1f8], xmm0
mov word [esp + 0x214], 0x61
nop dword [eax]
nop word [eax + eax]
mov al, byte [esp + 0x1c8]
xor byte [esp + ecx + 0x1c9], al
inc ecx
cmp ecx, 0x4c
jb 0x4b2ff0
push 5
lea eax, [esp + 0x1cd]
mov byte [esp + 0x219], 0
push eax
call edx
jmp 0x4b37c8
cmp eax, 0x3eb
jne 0x4b312d
lea eax, [ecx - 0xe7]
cmp eax, 0x14
ja 0x4b37c8
lea eax, [edx - 0x22b]
cmp eax, 0x14
ja 0x4b37c8
mov edi, dword [0x4d786c]
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, 0xe025ea64
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b308d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3070
cmp edx, 0x73a521b7
je 0x4b3093
inc ebx
add esi, 4
jmp 0x4b3060
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d2aa0]
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 + 0x280], xmm0
add edx, edi
mov dword [esp + 0x2c0], 0x4a7b775e
movaps xmm0, xmmword [0x4d38d0]
xor ecx, ecx
movups xmmword [esp + 0x290], xmm0
mov byte [esp + 0x2c4], 0
movaps xmm0, xmmword [0x4d2c90]
movups xmmword [esp + 0x2a0], xmm0
movaps xmm0, xmmword [0x4d3e40]
movups xmmword [esp + 0x2b0], xmm0
nop dword [eax + eax]
mov al, byte [esp + 0x280]
xor byte [esp + ecx + 0x281], al
inc ecx
cmp ecx, 0x43
jb 0x4b3100
push 5
lea eax, [esp + 0x285]
mov byte [esp + 0x2c8], 0
push eax
call edx
jmp 0x4b37c8
cmp eax, 0xfa1
jne 0x4b337e
lea eax, [ecx - 0x46]
cmp eax, 0x104
ja 0x4b37c8
lea eax, [edx - 0x1f7]
cmp eax, 0x18
ja 0x4b37c8
mov bh, 0x22
mov byte [esp + 0x150], 0
mov cl, 0x49
mov byte [esp + 0x148], bh
mov ch, 0x4b
mov byte [esp + 0x150], 0
xor cl, bh
xor ch, bh
mov al, 0x51
mov byte [esp + 0x14a], cl
mov dl, 0x53
mov byte [esp + 0x14e], ch
mov ah, 0x69
lea ecx, [esp + 0x5a4]
mov dh, 0x72
mov bl, 0x45
xor al, bh
xor dl, bh
xor bl, bh
mov byte [esp + 0x149], al
xor ah, bh
mov byte [esp + 0x14b], dl
xor dh, bh
mov byte [esp + 0x14c], bl
mov byte [esp + 0x14d], ah
mov byte [esp + 0x14f], dh
call fcn.004b5a80
lea ecx, [esp + 0x149]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b31d1
sub ecx, edx
lea eax, [esp + 0x149]
push ecx
push eax
lea ecx, [esp + 0x5ac]
call fcn.004b5700
mov bh, 0x48
mov byte [esp + 0x144], 0
mov cl, 0x39
mov byte [esp + 0x13c], bh
mov ch, 0x32
mov byte [esp + 0x144], 0
mov dl, 0x79
xor cl, bh
xor ch, bh
mov byte [esp + 0x13e], cl
mov al, 0x3e
mov byte [esp + 0x142], ch
mov bl, 3
lea ecx, [esp + 0x13d]
mov ah, 0x7f
mov dh, 4
xor dl, bh
xor al, bh
xor bl, bh
mov byte [esp + 0x13f], dl
xor ah, bh
mov byte [esp + 0x13d], al
xor dh, bh
mov byte [esp + 0x140], bl
mov byte [esp + 0x143], dh
lea edx, [ecx + 1]
mov byte [esp + 0x141], ah
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3260
sub ecx, edx
lea eax, [esp + 0x13d]
push ecx
push eax
lea ecx, [esp + 0x5ac]
call fcn.004b4e50
lea ecx, [esp + 0x5a4]
call fcn.004b4630
push 0x4c9469
mov ecx, 0x4d70b0
call fcn.004b5aa0
test al, al
je 0x4b37c8
mov edi, dword [0x4d786c]
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, 0x7ac95512
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b32e3
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b32c6
cmp edx, 0x389d974d
je 0x4b32e9
inc ebx
add esi, 4
jmp 0x4b32b6
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d19e0]
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 + 0x310], xmm0
add edx, edi
mov dword [esp + 0x350], 0x5c333a5d
movaps xmm0, xmmword [0x4d2000]
xor ecx, ecx
movups xmmword [esp + 0x320], xmm0
mov byte [esp + 0x354], 0
movaps xmm0, xmmword [0x4d1bc0]
movups xmmword [esp + 0x330], xmm0
movaps xmm0, xmmword [0x4d2440]
movups xmmword [esp + 0x340], xmm0
mov al, byte [esp + 0x310]
xor byte [esp + ecx + 0x311], al
inc ecx
cmp ecx, 0x43
jb 0x4b3351
push 5
lea eax, [esp + 0x315]
mov byte [esp + 0x358], 0
push eax
call edx
jmp 0x4b37c8
cmp eax, 0xfa2
jne 0x4b3671
lea eax, [ecx - 0x28]
cmp eax, 0xa0
ja 0x4b37c8
lea eax, [edx - 0x190]
cmp eax, 0x1b
ja 0x4b37c8
mov dh, 0x4b
mov byte [esp + 0x127], 0
mov cl, 0x23
mov byte [esp + 0x120], dh
mov ch, 0x20
mov byte [esp + 0x127], 0
xor cl, dh
xor ch, dh
mov al, 0x11
mov byte [esp + 0x122], cl
mov dl, 6
mov byte [esp + 0x126], ch
mov ah, 0x2a
lea ecx, [esp + 0x5ec]
mov bl, 2
xor al, dh
xor dl, dh
mov byte [esp + 0x121], al
xor bl, dh
mov byte [esp + 0x123], dl
xor ah, dh
mov byte [esp + 0x124], bl
mov byte [esp + 0x125], ah
call fcn.004b5a80
lea ecx, [esp + 0x121]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3417
sub ecx, edx
lea eax, [esp + 0x121]
push ecx
push eax
lea ecx, [esp + 0x5f4]
call fcn.004b5700
mov cl, 0x48
mov dword [esp + 0xd8], 0x1a260648
mov dword [esp + 0xdc], 0x91a2971
xor eax, eax
mov dword [esp + 0xe0], 0x520212e
mov byte [esp + 0xe4], 0
xor byte [esp + eax + 0xd9], cl
inc eax
cmp eax, 0xb
jae 0x4b3478
mov cl, byte [esp + 0xd8]
jmp 0x4b3462
lea ecx, [esp + 0x5bc]
mov byte [esp + 0xe4], 0
call fcn.004b5a80
lea ecx, [esp + 0xd9]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b3496
sub ecx, edx
lea eax, [esp + 0xd9]
push ecx
push eax
lea ecx, [esp + 0x5c4]
call fcn.004b5700
mov al, 0x16
mov byte [esp + 0xf4], 0x60
mov bl, al
mov byte [esp + 0x12], 0x14
xor al, byte [esp + 0xf4]
mov cl, 0xa
xor cl, byte [esp + 0xf4]
mov ah, 0x28
mov byte [esp + 0xf5], al
mov bh, ah
mov al, byte [esp + 0x12]
mov ch, 0x55
mov byte [esp + 0xf6], cl
mov dl, 0x26
mov cl, byte [esp + 0xf4]
mov dh, 0x33
xor al, cl
mov byte [esp + 0x13], ah
mov byte [esp + 0xfd], al
xor ah, cl
mov al, byte [esp + 0x13]
xor ch, cl
xor al, cl
mov byte [esp + 0xf9], ah
mov byte [esp + 0xfe], al
xor dl, cl
lea eax, [esp + 0x1ab]
mov byte [esp + 0xfa], ch
push eax
push 1
xor bl, cl
mov byte [esp + 0x107], 0
xor dh, cl
mov byte [esp + 0xff], dl
xor bh, cl
mov byte [esp + 0x100], bl
push 0
lea eax, [esp + 0x5f8]
mov byte [esp + 0x107], dh
push eax
lea ecx, [esp + 0x444]
mov byte [esp + 0x10c], bh
mov byte [esp + 0x10f], 0
call fcn.004b4eb0
lea eax, [esp + 0xf5]
push eax
lea ecx, [esp + 0x438]
call fcn.004b5aa0
lea ecx, [esp + 0x434]
mov bl, al
call fcn.004b4630
test bl, bl
je 0x4b3646
mov byte [esp + 0xcc], 0x72
mov al, 0x1e
xor al, byte [esp + 0xcc]
mov cl, 0x25
mov ch, 0x11
mov byte [esp + 0xcd], al
mov al, byte [esp + 0xcc]
mov dl, 0x38
xor cl, al
mov byte [esp + 0xd5], 0
xor ch, al
mov byte [esp + 0xce], cl
mov dh, 0x44
mov byte [esp + 0xd2], ch
mov bl, 0x13
mov byte [esp + 0xd5], 0
mov ah, 0x3b
lea ecx, [esp + 0xcd]
xor dl, al
xor dh, al
mov bh, 0x1d
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 0x4b3628
sub ecx, edx
lea eax, [esp + 0xcd]
push ecx
push eax
lea ecx, [esp + 0x5c4]
call fcn.004b4e50
lea ecx, [esp + 0x5bc]
call fcn.004b4630
lea ecx, [esp + 0x5ec]
call fcn.004b4630
cmp byte [0x4d7018], 0
sete byte [0x4d7018]
jmp 0x4b37c8
cmp eax, 0xfa3
jne 0x4b377a
lea eax, [ecx - 0xe6]
cmp eax, 0x82
ja 0x4b37c8
lea eax, [edx - 0x190]
cmp eax, 0x1b
ja 0x4b37c8
mov edi, dword [0x4d786c]
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, 0x9190dc70
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b36de
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b36c1
cmp edx, 0xab5dd03b
je 0x4b36e4
inc ebx
add esi, 4
jmp 0x4b36b1
mov eax, dword [ebp + edi + 0x24]
movaps xmm0, xmmword [0x4d2070]
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], 0x7b141d7a
movaps xmm0, xmmword [str._bn_b_]
xor ecx, ecx
movups xmmword [esp + 0x368], xmm0
mov byte [esp + 0x39c], 0
movaps xmm0, xmmword [0x4d23d0]
movups xmmword [esp + 0x378], xmm0
movaps xmm0, xmmword [0x4d1b80]
movups xmmword [esp + 0x388], xmm0
nop dword [eax]
mov al, byte [esp + 0x358]
xor byte [esp + ecx + 0x359], al
inc ecx
cmp ecx, 0x43
jb 0x4b3750
push 5
lea eax, [esp + 0x35d]
mov byte [esp + 0x3a0], 0
push eax
call edx
jmp 0x4b37c8
cmp eax, 0x1389
jne 0x4b37a2
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b37c8
lea eax, [edx - 0x109]
cmp eax, 0x36
ja 0x4b37c8
mov dword [0x4d77d0], 1
jmp 0x4b37c8
cmp eax, 0x138a
jne 0x4b37c8
lea eax, [ecx - 0x28]
cmp eax, 0x140
ja 0x4b37c8
lea eax, [edx - 0x149]
cmp eax, 0x36
ja 0x4b37c8
mov dword [0x4d77d0], 2
mov edi, dword [0x4d7870]
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, 0x5d8d4d6b
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b380d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b37f0
cmp edx, 0x48efc
je 0x4b3813
inc ebx
add esi, 4
jmp 0x4b37e0
mov eax, dword [ebp + edi + 0x24]
push 0
push 0
push dword [0x4d7864]
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 [0x4d7870]
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, 0xadeae177
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4b387d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4b3860
cmp edx, 0x28fda81a
je 0x4b3883
inc ebx
add esi, 4
jmp 0x4b3850
mov eax, dword [ebp + edi + 0x24]
push dword [0x4d7864]
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 + 0x6c4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c6ef9
add esp, 0x6bc
ret