Function at 0x4d8b10
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 0x4d8bfb
movzx eax, byte [edx + 0x523853]
mov eax, dword [edi + eax*4 + 0x30]
mov ecx, eax
and ecx, 0x7f
cmp ecx, 0x1b
je 0x4d8b78
cmp ecx, 0x1a
je 0x4d8b78
cmp ecx, 0x1c
je 0x4d8b78
cmp ecx, 0x1d
je 0x4d8b78
xor dl, dl
mov byte [esp + 0x13], dl
jmp 0x4d8b7d
mov byte [esp + 0x13], 1
cmp ecx, 0x40
jb 0x4d8b91
cmp ecx, 0x5f
ja 0x4d8b91
lea ecx, [eax - 0x40]
xor ecx, eax
and ecx, 0x7f
xor eax, ecx
mov ebx, eax
and ebx, 0x7f
cmp ebx, 0x60
jb 0x4d8c33
cmp ebx, 0x6f
ja 0x4d8c33
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 0x4d8bcd
or ebx, 0xffffffff
jmp 0x4d8bdb
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 0x4d8f9c
je case.0x4d8fb3.294
sub eax, 0x22
cmp eax, 0xf6
ja case.0x4d8fb3.295
movzx eax, byte [eax + 0x4d9714]
jmp dword [eax*4 + 0x4d96d0]
mov ecx, dword [esi + 0x14]
mov edx, eax
shr edx, 7
and edx, 0x3f
cmp byte [ecx + 0xb9], 0
je case.0x4d8c64.21
cmp ebp, 0x133
jne 0x4d8c55
cmp byte [esi + 0x44], 0
je case.0x4d8c64.21
lea ecx, [ebx - 0x11]
cmp ecx, 0xa
ja case.0x4d8c64.21
movzx ecx, byte [ecx + 0x4d9814]
jmp dword [ecx*4 + 0x4d980c]
add edx, 3
shr edx, 2
lea ecx, [ebx + edx]
cmp ecx, 0x40
jne 0x4d8c81
or edx, 0xffffffff
or ecx, 0xffffffff
jmp 0x4d8ca8
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 0x4d8cc8
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 0x4d8c03
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 0x4d8c03
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.0040fdf0
mov edi, eax
push dword [edi + 8]
call fcn.0045f930
add esp, 8
movzx eax, word [eax + 6]
and eax, 0xf
cmp eax, 8
je 0x4d8d3b
cmp eax, 9
jne 0x4d96c5
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 0x4d8d67
cmp eax, 9
jne 0x4d96c5
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.0040a570
push dword [edi + 0x18]
shr eax, 5
lea esi, [esi + eax*4]
call fcn.0040a570
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 0x4d8df7
test eax, eax
je 0x4d8df7
cmp eax, 3
jne 0x4d96c5
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 0x4d8e32
test eax, eax
je 0x4d8e32
cmp eax, 3
jne 0x4d96c5
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 0x4d8e63
test eax, eax
je 0x4d8e63
cmp eax, 3
jne 0x4d8e6a
or dword [esi + 0x74], 0x10000000
jmp 0x4d8e6a
or dword [esi + 0x74], 0x800000
cmp byte [esi + 0x44], 4
jne 0x4d96c5
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 0x4d8eaf
test eax, eax
je 0x4d8eaf
cmp eax, 3
jne 0x4d96c5
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.00409ee0
add esp, 8
mov ecx, dword [eax]
cmp dword [ecx + 0xc], 5
jne 0x4d8f8b
movzx eax, byte [eax + 0x11]
push eax
push dword [ecx + edx*8 + 0x34]
push dword [ecx + edx*8 + 0x30]
call fcn.00407cf0
add esp, 0xc
mov dword [esi], eax
inc ebx
add esi, 4
cmp ebx, 3
jb 0x4d8f60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
sub eax, 0x126
cmp eax, 0x166
ja case.0x4d8fb3.295
movzx eax, byte [eax + 0x4d984c]
jmp dword [eax*4 + 0x4d9820]
cmp byte [esi + 0x44], 4
jne 0x4d96c5
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 0x4d9212
push ebp
call fcn.0040fdf0
mov ebx, eax
add esp, 4
xor al, al
mov ecx, dword [ebx + 0x10]
and ecx, 0x3ffff
cmp ecx, 8
jne 0x4d9026
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.00410ab0
add esp, 8
mov byte [esp + 0x14], al
cmp byte [esi + 0x44], 7
sete byte [esp + 0x18]
test al, al
je 0x4d9060
push dword [esp + 0x2c]
call fcn.0045cae0
add esp, 4
mov dword [esp + 0x2c], eax
test dword [ebx + 0x1c], 0x8000
jne 0x4d9100
push dword [esp + 0x18]
push dword [esp + 0x18]
push ebx
push ebp
call fcn.004d99d0
add esp, 0x10
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x4d9100
test byte [ebx + 0x14], 0x20
je 0x4d90ad
push dword [esp + 0x2c]
call fcn.0045db00
mov ecx, dword [ebx + 0x14]
add eax, 3
shr ecx, 3
add esp, 4
and ecx, 3
add eax, ecx
shr eax, 2
jmp 0x4d90bd
push 1
push 0
push dword [esp + 0x34]
call fcn.0045c990
add esp, 0xc
cmp dword [esp + 0x14], eax
jae 0x4d9100
test byte [ebx + 0x14], 0x20
je 0x4d90ec
mov eax, dword [ebp + 0x18]
sub eax, 0
je 0x4d90db
mov eax, 1
jmp 0x4d9184
push dword [ebp + 0x20]
push ebx
call fcn.004da230
add esp, 8
jmp 0x4d9184
push 1
push 0
push dword [ebp + 0x20]
call fcn.0045c990
add esp, 0xc
jmp 0x4d9184
movsx eax, byte [esi + 0x44]
mov ebp, dword [ebx + 8]
push eax
push ebx
call fcn.00410ab0
add esp, 8
test al, al
jne 0x4d912a
cmp byte [esi + 0x44], 7
jne 0x4d9135
cmp dword [ebx + 0x2c], 0x1b
jne 0x4d9135
test dword [ebx + 0x1c], 0x10000
jne 0x4d9135
push ebp
call fcn.0045cae0
add esp, 4
mov ebp, eax
test dword [ebx + 0x1c], 0x8000
je 0x4d9149
push ebp
call fcn.0045cae0
add esp, 4
mov ebp, eax
test byte [ebx + 0x14], 0x20
je 0x4d916b
push ebp
call fcn.0045db00
mov ecx, dword [ebx + 0x14]
add esp, 4
shr ecx, 3
and ecx, 3
add ecx, 3
add eax, ecx
shr eax, 2
jmp 0x4d9178
push 1
push 0
push ebp
call fcn.0045c990
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.004da270
add esp, 0x18
cmp byte [esi + 0x44], 0
jne 0x4d9212
mov eax, dword [ebx + 0x10]
and eax, 0x3ffff
cmp eax, 4
jne 0x4d9212
push dword [ebx + 8]
call fcn.0045f930
push eax
call fcn.0045f590
add esp, 8
test al, al
je 0x4d9212
push 1
xor ebp, ebp
push ebp
push dword [ebx + 8]
call fcn.0045c990
add esp, 0xc
test eax, eax
je 0x4d9212
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.0045c990
add esp, 0xc
cmp ebp, eax
jb 0x4d91d8
push edi
call fcn.004d9b80
add esp, 4
test al, al
je 0x4d96c5
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 0x4d9282
cmp dword [edi + 0x18], 0x133
jne 0x4d9282
cmp byte [esp + 0x13], 0
jne 0x4d9282
or dword [esi + 0xa4], ebx
push edi
call fcn.00410420
add esp, 4
movups xmm0, xmmword [eax]
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
je 0x4d927a
or dword [esi + 0xc0], ebx
or dword [esi + 0xc4], ebp
lea eax, [esi + 0x44]
jmp 0x4d930f
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 0x4d92ae
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 0x4d92cc
or dword [esi + 0x80], ebx
or dword [esi + 0x84], ebp
mov ecx, dword [esp + 0x14]
or word [esi + 0x98], cx
push edi
call fcn.00410420
add esp, 4
movups xmm0, xmmword [eax]
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
je 0x4d930b
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 0x4d96c5
cmp dword [edi + 0x18], 0x159
jne 0x4d96c5
push edi
call fcn.004103d0
push eax
call fcn.004da580
add esp, 8
test al, al
jne 0x4d96c5
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 0x4d93a6
cmp dword [edi + 0x18], 0x154
jne 0x4d93a6
test cl, cl
jne 0x4d93a6
or dword [esi + 0xac], ebx
push edi
call fcn.00410420
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 0x4d93a0
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 0x4d93f8
mov eax, dword [esp + 0x14]
or dword [esi + 0x68], ebx
or dword [esi + 0x6c], ebp
or word [esi + 0x9c], ax
push edi
call fcn.00410420
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 0x4d93f8
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 0x4d9444
cmp dword [edi + 0x18], 0x15a
mov dword [esp + 0x14], eax
jne 0x4d9444
push edi
mov dword [esp + 0x18], ecx
call fcn.004103d0
push eax
call fcn.004da580
mov ecx, dword [esp + 0x34]
add esp, 8
test al, al
jne 0x4d9440
or dword [esi + 0x158], ebx
lea eax, [esi + 0x44]
or dword [esi + 0x15c], ebp
mov dword [esp + 0x14], eax
jmp 0x4d9444
mov eax, dword [esp + 0x14]
cmp byte [ecx], 7
jne 0x4d948c
mov edx, dword [edi + 0x18]
cmp edx, 0x15a
je 0x4d945e
mov ecx, eax
cmp edx, 0x158
jne 0x4d948c
push edi
mov dword [esp + 0x30], eax
call fcn.004103d0
push eax
push esi
call fcn.004da5c0
add esp, 0xc
test al, al
jne 0x4d9488
or dword [esi + 0x140], ebx
or dword [esi + 0x144], ebp
mov ecx, dword [esp + 0x14]
jmp 0x4d948c
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 4
jne 0x4d96c5
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523853]
test dword [edi + eax*4 + 0x30], 0x4000
je 0x4d96c5
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 0x4d950b
cmp dword [edi + 0x18], 0x264
jne 0x4d950b
test cl, cl
jne 0x4d950b
or dword [esi + 0xa8], ebx
push edi
call fcn.00410420
add esp, 4
movups xmm0, xmmword [eax]
psrldq xmm0, 0xc
movd eax, xmm0
mov eax, dword [eax]
cmp dword [eax + 0xc], 5
je 0x4d9506
or dword [esi + 0xc8], ebx
or dword [esi + 0xcc], ebp
lea eax, [esi + 0x44]
jmp 0x4d9585
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 0x4d953c
or dword [esi + 0x88], ebx
lea eax, [esi + 0x44]
or dword [esi + 0x8c], ebp
mov dword [esp + 0x18], eax
push edi
call fcn.00410420
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 0x4d9581
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 0x4d9585
mov eax, dword [esp + 0x2c]
cmp byte [eax], 7
jne 0x4d95bb
mov eax, dword [edi + 0x18]
cmp eax, 0x266
je 0x4d959b
cmp eax, 0x265
jne 0x4d95bb
push edi
call fcn.004103d0
push eax
push esi
call fcn.004da5c0
add esp, 0xc
test al, al
jne 0x4d95bb
or dword [esi + 0x140], ebx
or dword [esi + 0x144], ebp
mov ebx, dword [esp + 0x2c]
cmp byte [ebx], 4
jne 0x4d96c5
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523853]
test dword [edi + eax*4 + 0x30], 0x2000
je 0x4d96c5
or byte [esi + 0x140], 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp byte [esi + 0x44], 4
jne 0x4d96c5
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 0x4d96c5
mov al, byte [esi + 0x140]
test al, 0x10
je 0x4d96c5
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.0x4d966e.51
movzx eax, byte [eax + 0x4d99bc]
jmp dword [eax*4 + 0x4d99b4]
mov al, 4
jmp 0x4d967b
xor al, al
or byte [esi + 0x13b], al
push edi
call fcn.004d9b80
add esp, 4
test al, al
je 0x4d9695
or byte [esi + 0x13a], 0x40
mov eax, dword [edi + 0x18]
cmp eax, 0xa7
je 0x4d96be
cmp eax, 0xa5
je 0x4d96be
cmp eax, 0x9a
je 0x4d96be
cmp eax, 0x98
je 0x4d96be
cmp eax, 0x39
je 0x4d96be
cmp eax, 0x37
jne 0x4d96c5
or byte [esi + 0x137], 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret