Function at 0x4d8b70
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2c]
xor cl, cl
push edi
mov edi, dword [esp + 0x2c]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov dword [esp + 0x14], 0
mov byte [esp + 0x13], cl
mov ebp, dword [edi + 0x18]
imul edx, ebp, 0x64
mov dword [esp + 0x2c], edx
cmp byte [edx + 0x523853], cl
jbe 0x4d8c5b
movzx eax, byte [edx + 0x523853]
mov eax, dword [edi + eax*4 + 0x30]
mov ecx, eax
and ecx, 0x7f
cmp ecx, 0x1b
je 0x4d8bd8
cmp ecx, 0x1a
je 0x4d8bd8
cmp ecx, 0x1c
je 0x4d8bd8
cmp ecx, 0x1d
je 0x4d8bd8
xor dl, dl
mov byte [esp + 0x13], dl
jmp 0x4d8bdd
mov byte [esp + 0x13], 1
cmp ecx, 0x40
jb 0x4d8bf1
cmp ecx, 0x5f
ja 0x4d8bf1
lea ecx, [eax - 0x40]
xor ecx, eax
and ecx, 0x7f
xor eax, ecx
mov ebx, eax
and ebx, 0x7f
cmp ebx, 0x60
jb 0x4d8c93
cmp ebx, 0x6f
ja 0x4d8c93
mov ecx, eax
mov edx, eax
shr ecx, 0x19
shr edx, 7
and ecx, 1
and edx, 0x3f
inc ecx
add edx, ecx
shr edx, 1
lea ecx, [ebx + edx]
cmp ecx, 0x80
jne 0x4d8c2d
or ebx, 0xffffffff
jmp 0x4d8c3b
lea ecx, [edx + eax]
mov ebx, 1
and ecx, 0x1f
shl ebx, cl
dec ebx
and eax, 0x1f
mov edx, 1
mov ecx, eax
shl edx, cl
mov cl, byte [esp + 0x13]
dec edx
not edx
and edx, ebx
movzx eax, dx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov eax, dword [edi + 0x18]
cmp eax, 0x125
jg 0x4d8ffc
je case.0x4d9013.294
sub eax, 0x22
cmp eax, 0xf6
ja case.0x4d9013.295
movzx eax, byte [eax + 0x4d9774]
jmp dword [eax*4 + 0x4d9730]
mov ecx, dword [esi + 0x14]
mov edx, eax
shr edx, 7
and edx, 0x3f
cmp byte [ecx + 0xb9], 0
je case.0x4d8cc4.21
cmp ebp, 0x133
jne 0x4d8cb5
cmp byte [esi + 0x44], 0
je case.0x4d8cc4.21
lea ecx, [ebx - 0x11]
cmp ecx, 0xa
ja case.0x4d8cc4.21
movzx ecx, byte [ecx + 0x4d9874]
jmp dword [ecx*4 + 0x4d986c]
add edx, 3
shr edx, 2
lea ecx, [ebx + edx]
cmp ecx, 0x40
jne 0x4d8ce1
or edx, 0xffffffff
or ecx, 0xffffffff
jmp 0x4d8d08
lea ecx, [edx + eax]
xor ebp, ebp
and ecx, 0x3f
xor edx, edx
bts edx, ecx
cmp ecx, 0x20
cmovae ebp, edx
xor edx, ebp
cmp ecx, 0x40
cmovae ebp, edx
add edx, 0xffffffff
adc ebp, 0xffffffff
mov dword [esp + 0x18], ebp
mov ecx, ebp
cmp ebx, 0x40
jne 0x4d8d28
or ebx, 0xffffffff
or ebp, 0xffffffff
not ebx
not ebp
and ebx, edx
mov edx, dword [esp + 0x2c]
and ebp, ecx
mov cl, byte [esp + 0x13]
jmp 0x4d8c63
xor ebx, ebx
xor ebp, ebp
and eax, 0x3f
bts ebx, eax
cmp eax, 0x20
cmovae ebp, ebx
xor ebx, ebp
cmp eax, 0x40
cmovae ebp, ebx
add ebx, 0xffffffff
not ebx
adc ebp, 0xffffffff
and ebx, edx
mov edx, dword [esp + 0x2c]
not ebp
and ebp, ecx
mov cl, byte [esp + 0x13]
jmp 0x4d8c63
movups xmm0, xmmword [edi + 0x58]
xor ecx, ecx
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 1
cmovne eax, ecx
push eax
call fcn.0040fe80
mov edi, eax
push dword [edi + 8]
call fcn.0045f9b0
add esp, 8
movzx eax, word [eax + 6]
and eax, 0xf
cmp eax, 8
je 0x4d8d9b
cmp eax, 9
jne 0x4d9725
or dword [edi + 0x14], 0x40
or byte [esi + 0x140], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
movzx eax, byte [edx + 0x52383b]
mov eax, dword [edi + eax*4 + 0x30]
cmp eax, 8
je 0x4d8dc7
cmp eax, 9
jne 0x4d9725
or byte [esi + 0x140], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
xor edx, edx
cmp dword [edi + 0x18], 0xf0
sete dl
xor eax, eax
inc edx
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or dword [esi + 0x50], eax
or dword [esi + 0x54], ecx
push dword [edi + 0x18]
call fcn.0040a5e0
push dword [edi + 0x18]
shr eax, 5
lea esi, [esi + eax*4]
call fcn.0040a5e0
mov ecx, dword [esi + 0x70]
add esp, 8
and eax, 0x1f
bts ecx, eax
mov dword [esi + 0x70], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
movzx eax, byte [edx + 0x523837]
mov eax, dword [edi + eax*4 + 0x30]
cmp eax, 1
je 0x4d8e57
test eax, eax
je 0x4d8e57
cmp eax, 3
jne 0x4d9725
or dword [esi + 0x74], 0x4000000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
or dword [esi + 0x74], 0x400000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
movzx eax, byte [edx + 0x523837]
mov eax, dword [edi + eax*4 + 0x30]
cmp eax, 1
je 0x4d8e92
test eax, eax
je 0x4d8e92
cmp eax, 3
jne 0x4d9725
or dword [esi + 0x74], 0x8000000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
or dword [esi + 0x74], 0x1000000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
movzx eax, byte [edx + 0x523837]
mov eax, dword [edi + eax*4 + 0x30]
cmp eax, 1
je 0x4d8ec3
test eax, eax
je 0x4d8ec3
cmp eax, 3
jne 0x4d8eca
or dword [esi + 0x74], 0x10000000
jmp 0x4d8eca
or dword [esi + 0x74], 0x800000
cmp byte [esi + 0x44], 4
jne 0x4d9725
or byte [esi + 0x140], 0x80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
movzx eax, byte [edx + 0x523837]
mov eax, dword [edi + eax*4 + 0x30]
cmp eax, 1
je 0x4d8f0f
test eax, eax
je 0x4d8f0f
cmp eax, 3
jne 0x4d9725
or dword [esi + 0x74], 0x80000000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
or dword [esi + 0x74], 0x40000000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
or byte [esi + 0x14b], 8
imul eax, dword [edi + 0x18], 0x64
mov dl, byte [esi + 0x14b]
movzx ecx, dl
and dl, 0xf
shr ecx, 4
movzx eax, byte [eax + 0x52382f]
mov eax, dword [edi + eax*4 + 0x30]
bts ecx, eax
shl cl, 4
pop edi
or cl, dl
mov byte [esi + 0x14b], cl
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
movzx eax, byte [edx + 0x523852]
mov ebx, 2
mov cl, byte [esi + 0x13b]
movzx edx, cl
cmp dword [edi + eax*4 + 0x30], 0
mov eax, 1
cmovne edx, eax
xor dl, cl
and dl, al
xor dl, cl
mov byte [esi + 0x13b], dl
imul eax, dword [edi + 0x18], 0x64
movzx ecx, dl
movzx eax, byte [eax + 0x523851]
cmp dword [edi + eax*4 + 0x30], 0
pop edi
cmovne ecx, ebx
xor cl, dl
and cl, bl
xor cl, dl
mov byte [esi + 0x13b], cl
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
xor ebx, ebx
add esi, 0x148
nop dword [eax]
push ebx
push dword [edi + 0x64]
call fcn.00409f50
add esp, 8
mov ecx, dword [eax]
cmp dword [ecx + 0xc], 5
jne 0x4d8feb
movzx eax, byte [eax + 0x11]
push eax
push dword [ecx + edx*8 + 0x34]
push dword [ecx + edx*8 + 0x30]
call fcn.00407d60
add esp, 0xc
mov dword [esi], eax
inc ebx
add esi, 4
cmp ebx, 3
jb 0x4d8fc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
sub eax, 0x126
cmp eax, 0x166
ja case.0x4d9013.295
movzx eax, byte [eax + 0x4d98ac]
jmp dword [eax*4 + 0x4d9880]
cmp byte [esi + 0x44], 4
jne 0x4d9725
or byte [esi + 0x140], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
movups xmm0, xmmword [edi + 0x58]
psrldq xmm0, 0xc
movd eax, xmm0
mov ebp, dword [eax]
xor eax, eax
cmp dword [ebp + 0xc], 1
cmovne ebp, eax
mov dword [esp + 0x1c], ebp
test byte [ebp + 0x1c], 0xc
je 0x4d9272
push ebp
call fcn.0040fe80
mov ebx, eax
add esp, 4
xor al, al
mov ecx, dword [ebx + 0x10]
and ecx, 0x3ffff
cmp ecx, 8
jne 0x4d9086
cmp dword [edi + 0x18], 0x100
mov ecx, 1
movzx eax, al
cmove eax, ecx
mov byte [esp + 0x20], al
mov eax, dword [ebx + 8]
mov dword [esp + 0x2c], eax
movsx eax, byte [esi + 0x44]
push eax
push ebx
call fcn.00410b40
add esp, 8
mov byte [esp + 0x14], al
cmp byte [esi + 0x44], 7
sete byte [esp + 0x18]
test al, al
je 0x4d90c0
push dword [esp + 0x2c]
call fcn.0045cb60
add esp, 4
mov dword [esp + 0x2c], eax
test dword [ebx + 0x1c], 0x8000
jne 0x4d9160
push dword [esp + 0x18]
push dword [esp + 0x18]
push ebx
push ebp
call fcn.004d9a30
add esp, 0x10
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x4d9160
test byte [ebx + 0x14], 0x20
je 0x4d910d
push dword [esp + 0x2c]
call fcn.0045db80
mov ecx, dword [ebx + 0x14]
add eax, 3
shr ecx, 3
add esp, 4
and ecx, 3
add eax, ecx
shr eax, 2
jmp 0x4d911d
push 1
push 0
push dword [esp + 0x34]
call fcn.0045ca10
add esp, 0xc
cmp dword [esp + 0x14], eax
jae 0x4d9160
test byte [ebx + 0x14], 0x20
je 0x4d914c
mov eax, dword [ebp + 0x18]
sub eax, 0
je 0x4d913b
mov eax, 1
jmp 0x4d91e4
push dword [ebp + 0x20]
push ebx
call fcn.004da290
add esp, 8
jmp 0x4d91e4
push 1
push 0
push dword [ebp + 0x20]
call fcn.0045ca10
add esp, 0xc
jmp 0x4d91e4
movsx eax, byte [esi + 0x44]
mov ebp, dword [ebx + 8]
push eax
push ebx
call fcn.00410b40
add esp, 8
test al, al
jne 0x4d918a
cmp byte [esi + 0x44], 7
jne 0x4d9195
cmp dword [ebx + 0x2c], 0x1b
jne 0x4d9195
test dword [ebx + 0x1c], 0x10000
jne 0x4d9195
push ebp
call fcn.0045cb60
add esp, 4
mov ebp, eax
test dword [ebx + 0x1c], 0x8000
je 0x4d91a9
push ebp
call fcn.0045cb60
add esp, 4
mov ebp, eax
test byte [ebx + 0x14], 0x20
je 0x4d91cb
push ebp
call fcn.0045db80
mov ecx, dword [ebx + 0x14]
add esp, 4
shr ecx, 3
and ecx, 3
add ecx, 3
add eax, ecx
shr eax, 2
jmp 0x4d91d8
push 1
push 0
push ebp
call fcn.0045ca10
add esp, 0xc
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], 0
push dword [esp + 0x20]
mov edx, ebx
mov ecx, esi
push ebp
push eax
push dword [esp + 0x20]
push edx
push ecx
call fcn.004da2d0
add esp, 0x18
cmp byte [esi + 0x44], 0
jne 0x4d9272
mov eax, dword [ebx + 0x10]
and eax, 0x3ffff
cmp eax, 4
jne 0x4d9272
push dword [ebx + 8]
call fcn.0045f9b0
push eax
call fcn.0045f610
add esp, 8
test al, al
je 0x4d9272
push 1
xor ebp, ebp
push ebp
push dword [ebx + 8]
call fcn.0045ca10
add esp, 0xc
test eax, eax
je 0x4d9272
mov edx, dword [ebx + 0x2c]
xor eax, eax
add edx, ebp
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
push 1
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
push 0
cmovae ecx, eax
or dword [esi + 0x140], eax
or dword [esi + 0x144], ecx
inc ebp
push dword [ebx + 8]
call fcn.0045ca10
add esp, 0xc
cmp ebp, eax
jb 0x4d9238
push edi
call fcn.004d9be0
add esp, 4
test al, al
je 0x4d9725
or byte [esi + 0x13a], 0x40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp byte [esi + 0x44], 2
lea ecx, [esi + 0x44]
jne 0x4d92e2
cmp dword [edi + 0x18], 0x133
jne 0x4d92e2
cmp byte [esp + 0x13], 0
jne 0x4d92e2
or dword [esi + 0xa4], ebx
push edi
call fcn.004104b0
add esp, 4
movups xmm0, xmmword [eax]
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
je 0x4d92da
or dword [esi + 0xc0], ebx
or dword [esi + 0xc4], ebp
lea eax, [esi + 0x44]
jmp 0x4d936f
or dword [esi + 0x50], ebx
or dword [esi + 0x54], ebp
imul eax, dword [edi + 0x18], 0x64
mov dword [esp + 0x2c], ecx
movzx eax, byte [eax + 0x523853]
test dword [edi + eax*4 + 0x30], 0x8000000
je 0x4d930e
or dword [esi + 0x58], ebx
lea eax, [esi + 0x44]
or dword [esi + 0x5c], ebp
mov dword [esp + 0x2c], eax
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523853]
cmp dword [edi + eax*4 + 0x30], 0
jge 0x4d932c
or dword [esi + 0x80], ebx
or dword [esi + 0x84], ebp
mov ecx, dword [esp + 0x14]
or word [esi + 0x98], cx
push edi
call fcn.004104b0
add esp, 4
movups xmm0, xmmword [eax]
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
je 0x4d936b
or dword [esi + 0xb0], ebx
or dword [esi + 0xb4], ebp
mov eax, dword [esp + 0x14]
or word [esi + 0x9e], ax
mov eax, dword [esp + 0x2c]
cmp byte [eax], 1
jne 0x4d9725
cmp dword [edi + 0x18], 0x159
jne 0x4d9725
push edi
call fcn.00410460
push eax
call fcn.004da5e0
add esp, 8
test al, al
jne 0x4d9725
or dword [esi + 0x150], ebx
or dword [esi + 0x154], ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp byte [esi + 0x44], 1
jne 0x4d9406
cmp dword [edi + 0x18], 0x154
jne 0x4d9406
test cl, cl
jne 0x4d9406
or dword [esi + 0xac], ebx
push edi
call fcn.004104b0
add esp, 4
lea edx, [esi + 0x44]
mov dword [esp + 0x2c], edx
movups xmm0, xmmword [eax]
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
je 0x4d9400
or dword [esi + 0xc8], ebx
lea eax, [esi + 0x44]
or dword [esi + 0xcc], ebp
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
jmp 0x4d9458
mov eax, dword [esp + 0x14]
or dword [esi + 0x68], ebx
or dword [esi + 0x6c], ebp
or word [esi + 0x9c], ax
push edi
call fcn.004104b0
lea edx, [esi + 0x44]
add esp, 4
mov ecx, edx
mov dword [esp + 0x2c], ecx
movups xmm0, xmmword [eax]
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
je 0x4d9458
or dword [esi + 0xb8], ebx
or dword [esi + 0xbc], ebp
mov eax, dword [esp + 0x14]
or word [esi + 0xa0], ax
mov dword [esp + 0x2c], ecx
cmp byte [edx], 1
mov eax, ecx
mov dword [esp + 0x14], eax
jne 0x4d94a4
cmp dword [edi + 0x18], 0x15a
mov dword [esp + 0x14], eax
jne 0x4d94a4
push edi
mov dword [esp + 0x18], ecx
call fcn.00410460
push eax
call fcn.004da5e0
mov ecx, dword [esp + 0x34]
add esp, 8
test al, al
jne 0x4d94a0
or dword [esi + 0x158], ebx
lea eax, [esi + 0x44]
or dword [esi + 0x15c], ebp
mov dword [esp + 0x14], eax
jmp 0x4d94a4
mov eax, dword [esp + 0x14]
cmp byte [ecx], 7
jne 0x4d94ec
mov edx, dword [edi + 0x18]
cmp edx, 0x15a
je 0x4d94be
mov ecx, eax
cmp edx, 0x158
jne 0x4d94ec
push edi
mov dword [esp + 0x30], eax
call fcn.00410460
push eax
push esi
call fcn.004da620
add esp, 0xc
test al, al
jne 0x4d94e8
or dword [esi + 0x140], ebx
or dword [esi + 0x144], ebp
mov ecx, dword [esp + 0x14]
jmp 0x4d94ec
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 4
jne 0x4d9725
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523853]
test dword [edi + eax*4 + 0x30], 0x4000
je 0x4d9725
or byte [esi + 0x140], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp byte [esi + 0x44], 1
lea eax, [esi + 0x44]
mov dword [esp + 0x2c], eax
jne 0x4d956b
cmp dword [edi + 0x18], 0x264
jne 0x4d956b
test cl, cl
jne 0x4d956b
or dword [esi + 0xa8], ebx
push edi
call fcn.004104b0
add esp, 4
movups xmm0, xmmword [eax]
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
je 0x4d9566
or dword [esi + 0xc8], ebx
or dword [esi + 0xcc], ebp
lea eax, [esi + 0x44]
jmp 0x4d95e5
mov ecx, dword [esp + 0x14]
or dword [esi + 0x60], ebx
or dword [esi + 0x64], ebp
or word [esi + 0x9a], cx
cmp dword [edi + 0x18], 0x265
mov dword [esp + 0x18], eax
jne 0x4d959c
or dword [esi + 0x88], ebx
lea eax, [esi + 0x44]
or dword [esi + 0x8c], ebp
mov dword [esp + 0x18], eax
push edi
call fcn.004104b0
add esp, 4
movups xmm0, xmmword [eax]
lea eax, [esi + 0x44]
mov dword [esp + 0x2c], eax
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
je 0x4d95e1
mov eax, dword [esp + 0x14]
or dword [esi + 0xb8], ebx
or dword [esi + 0xbc], ebp
or word [esi + 0xa0], ax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
jmp 0x4d95e5
mov eax, dword [esp + 0x2c]
cmp byte [eax], 7
jne 0x4d961b
mov eax, dword [edi + 0x18]
cmp eax, 0x266
je 0x4d95fb
cmp eax, 0x265
jne 0x4d961b
push edi
call fcn.00410460
push eax
push esi
call fcn.004da620
add esp, 0xc
test al, al
jne 0x4d961b
or dword [esi + 0x140], ebx
or dword [esi + 0x144], ebp
mov ebx, dword [esp + 0x2c]
cmp byte [ebx], 4
jne 0x4d9725
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523853]
test dword [edi + eax*4 + 0x30], 0x2000
je 0x4d9725
or byte [esi + 0x140], 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp byte [esi + 0x44], 4
jne 0x4d9725
or byte [esi + 0x140], 0x40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp byte [esi + 0x44], 4
mov byte [esi + 0x129], 1
jne 0x4d9725
mov al, byte [esi + 0x140]
test al, 0x10
je 0x4d9725
pop edi
or al, 0x40
mov byte [esi + 0x140], al
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov eax, dword [esi + 0x64]
or dword [esi + 0x60], 3
pop edi
mov dword [esi + 0x64], eax
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov eax, dword [esi + 0x64]
or dword [esi + 0x60], 8
pop edi
mov dword [esi + 0x64], eax
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
mov eax, dword [edi + 0x18]
add eax, 0xffffffd1
cmp eax, 0xf
ja case.0x4d96ce.51
movzx eax, byte [eax + 0x4d9a1c]
jmp dword [eax*4 + 0x4d9a14]
mov al, 4
jmp 0x4d96db
xor al, al
or byte [esi + 0x13b], al
push edi
call fcn.004d9be0
add esp, 4
test al, al
je 0x4d96f5
or byte [esi + 0x13a], 0x40
mov eax, dword [edi + 0x18]
cmp eax, 0xa7
je 0x4d971e
cmp eax, 0xa5
je 0x4d971e
cmp eax, 0x9a
je 0x4d971e
cmp eax, 0x98
je 0x4d971e
cmp eax, 0x39
je 0x4d971e
cmp eax, 0x37
jne 0x4d9725
or byte [esi + 0x137], 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret