Function at 0x4d8c20
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 0x4d8d0b
movzx eax, byte [edx + 0x523853]
mov eax, dword [edi + eax*4 + 0x30]
mov ecx, eax
and ecx, 0x7f
cmp ecx, 0x1b
je 0x4d8c88
cmp ecx, 0x1a
je 0x4d8c88
cmp ecx, 0x1c
je 0x4d8c88
cmp ecx, 0x1d
je 0x4d8c88
xor dl, dl
mov byte [esp + 0x13], dl
jmp 0x4d8c8d
mov byte [esp + 0x13], 1
cmp ecx, 0x40
jb 0x4d8ca1
cmp ecx, 0x5f
ja 0x4d8ca1
lea ecx, [eax - 0x40]
xor ecx, eax
and ecx, 0x7f
xor eax, ecx
mov ebx, eax
and ebx, 0x7f
cmp ebx, 0x60
jb 0x4d8d43
cmp ebx, 0x6f
ja 0x4d8d43
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 0x4d8cdd
or ebx, 0xffffffff
jmp 0x4d8ceb
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 0x4d90ac
je case.0x4d90c3.294
sub eax, 0x22
cmp eax, 0xf6
ja case.0x4d90c3.295
movzx eax, byte [eax + 0x4d9824]
jmp dword [eax*4 + 0x4d97e0]
mov ecx, dword [esi + 0x14]
mov edx, eax
shr edx, 7
and edx, 0x3f
cmp byte [ecx + 0xb9], 0
je case.0x4d8d74.21
cmp ebp, 0x133
jne 0x4d8d65
cmp byte [esi + 0x44], 0
je case.0x4d8d74.21
lea ecx, [ebx - 0x11]
cmp ecx, 0xa
ja case.0x4d8d74.21
movzx ecx, byte [ecx + 0x4d9924]
jmp dword [ecx*4 + 0x4d991c]
add edx, 3
shr edx, 2
lea ecx, [ebx + edx]
cmp ecx, 0x40
jne 0x4d8d91
or edx, 0xffffffff
or ecx, 0xffffffff
jmp 0x4d8db8
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 0x4d8dd8
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 0x4d8d13
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 0x4d8d13
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.0045f9e0
add esp, 8
movzx eax, word [eax + 6]
and eax, 0xf
cmp eax, 8
je 0x4d8e4b
cmp eax, 9
jne 0x4d97d5
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 0x4d8e77
cmp eax, 9
jne 0x4d97d5
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 0x4d8f07
test eax, eax
je 0x4d8f07
cmp eax, 3
jne 0x4d97d5
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 0x4d8f42
test eax, eax
je 0x4d8f42
cmp eax, 3
jne 0x4d97d5
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 0x4d8f73
test eax, eax
je 0x4d8f73
cmp eax, 3
jne 0x4d8f7a
or dword [esi + 0x74], 0x10000000
jmp 0x4d8f7a
or dword [esi + 0x74], 0x800000
cmp byte [esi + 0x44], 4
jne 0x4d97d5
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 0x4d8fbf
test eax, eax
je 0x4d8fbf
cmp eax, 3
jne 0x4d97d5
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 0x4d909b
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 0x4d9070
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
sub eax, 0x126
cmp eax, 0x166
ja case.0x4d90c3.295
movzx eax, byte [eax + 0x4d995c]
jmp dword [eax*4 + 0x4d9930]
cmp byte [esi + 0x44], 4
jne 0x4d97d5
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 0x4d9322
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 0x4d9136
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 0x4d9170
push dword [esp + 0x2c]
call fcn.0045cb80
add esp, 4
mov dword [esp + 0x2c], eax
test dword [ebx + 0x1c], 0x8000
jne 0x4d9210
push dword [esp + 0x18]
push dword [esp + 0x18]
push ebx
push ebp
call fcn.004d9ae0
add esp, 0x10
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x4d9210
test byte [ebx + 0x14], 0x20
je 0x4d91bd
push dword [esp + 0x2c]
call fcn.0045dba0
mov ecx, dword [ebx + 0x14]
add eax, 3
shr ecx, 3
add esp, 4
and ecx, 3
add eax, ecx
shr eax, 2
jmp 0x4d91cd
push 1
push 0
push dword [esp + 0x34]
call fcn.0045ca30
add esp, 0xc
cmp dword [esp + 0x14], eax
jae 0x4d9210
test byte [ebx + 0x14], 0x20
je 0x4d91fc
mov eax, dword [ebp + 0x18]
sub eax, 0
je 0x4d91eb
mov eax, 1
jmp 0x4d9294
push dword [ebp + 0x20]
push ebx
call fcn.004da340
add esp, 8
jmp 0x4d9294
push 1
push 0
push dword [ebp + 0x20]
call fcn.0045ca30
add esp, 0xc
jmp 0x4d9294
movsx eax, byte [esi + 0x44]
mov ebp, dword [ebx + 8]
push eax
push ebx
call fcn.00410b40
add esp, 8
test al, al
jne 0x4d923a
cmp byte [esi + 0x44], 7
jne 0x4d9245
cmp dword [ebx + 0x2c], 0x1b
jne 0x4d9245
test dword [ebx + 0x1c], 0x10000
jne 0x4d9245
push ebp
call fcn.0045cb80
add esp, 4
mov ebp, eax
test dword [ebx + 0x1c], 0x8000
je 0x4d9259
push ebp
call fcn.0045cb80
add esp, 4
mov ebp, eax
test byte [ebx + 0x14], 0x20
je 0x4d927b
push ebp
call fcn.0045dba0
mov ecx, dword [ebx + 0x14]
add esp, 4
shr ecx, 3
and ecx, 3
add ecx, 3
add eax, ecx
shr eax, 2
jmp 0x4d9288
push 1
push 0
push ebp
call fcn.0045ca30
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.004da380
add esp, 0x18
cmp byte [esi + 0x44], 0
jne 0x4d9322
mov eax, dword [ebx + 0x10]
and eax, 0x3ffff
cmp eax, 4
jne 0x4d9322
push dword [ebx + 8]
call fcn.0045f9e0
push eax
call fcn.0045f640
add esp, 8
test al, al
je 0x4d9322
push 1
xor ebp, ebp
push ebp
push dword [ebx + 8]
call fcn.0045ca30
add esp, 0xc
test eax, eax
je 0x4d9322
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.0045ca30
add esp, 0xc
cmp ebp, eax
jb 0x4d92e8
push edi
call fcn.004d9c90
add esp, 4
test al, al
je 0x4d97d5
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 0x4d9392
cmp dword [edi + 0x18], 0x133
jne 0x4d9392
cmp byte [esp + 0x13], 0
jne 0x4d9392
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 0x4d938a
or dword [esi + 0xc0], ebx
or dword [esi + 0xc4], ebp
lea eax, [esi + 0x44]
jmp 0x4d941f
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 0x4d93be
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 0x4d93dc
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 0x4d941b
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 0x4d97d5
cmp dword [edi + 0x18], 0x159
jne 0x4d97d5
push edi
call fcn.00410460
push eax
call fcn.004da690
add esp, 8
test al, al
jne 0x4d97d5
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 0x4d94b6
cmp dword [edi + 0x18], 0x154
jne 0x4d94b6
test cl, cl
jne 0x4d94b6
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 0x4d94b0
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 0x4d9508
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 0x4d9508
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 0x4d9554
cmp dword [edi + 0x18], 0x15a
mov dword [esp + 0x14], eax
jne 0x4d9554
push edi
mov dword [esp + 0x18], ecx
call fcn.00410460
push eax
call fcn.004da690
mov ecx, dword [esp + 0x34]
add esp, 8
test al, al
jne 0x4d9550
or dword [esi + 0x158], ebx
lea eax, [esi + 0x44]
or dword [esi + 0x15c], ebp
mov dword [esp + 0x14], eax
jmp 0x4d9554
mov eax, dword [esp + 0x14]
cmp byte [ecx], 7
jne 0x4d959c
mov edx, dword [edi + 0x18]
cmp edx, 0x15a
je 0x4d956e
mov ecx, eax
cmp edx, 0x158
jne 0x4d959c
push edi
mov dword [esp + 0x30], eax
call fcn.00410460
push eax
push esi
call fcn.004da6d0
add esp, 0xc
test al, al
jne 0x4d9598
or dword [esi + 0x140], ebx
or dword [esi + 0x144], ebp
mov ecx, dword [esp + 0x14]
jmp 0x4d959c
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 4
jne 0x4d97d5
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523853]
test dword [edi + eax*4 + 0x30], 0x4000
je 0x4d97d5
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 0x4d961b
cmp dword [edi + 0x18], 0x264
jne 0x4d961b
test cl, cl
jne 0x4d961b
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 0x4d9616
or dword [esi + 0xc8], ebx
or dword [esi + 0xcc], ebp
lea eax, [esi + 0x44]
jmp 0x4d9695
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 0x4d964c
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 0x4d9691
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 0x4d9695
mov eax, dword [esp + 0x2c]
cmp byte [eax], 7
jne 0x4d96cb
mov eax, dword [edi + 0x18]
cmp eax, 0x266
je 0x4d96ab
cmp eax, 0x265
jne 0x4d96cb
push edi
call fcn.00410460
push eax
push esi
call fcn.004da6d0
add esp, 0xc
test al, al
jne 0x4d96cb
or dword [esi + 0x140], ebx
or dword [esi + 0x144], ebp
mov ebx, dword [esp + 0x2c]
cmp byte [ebx], 4
jne 0x4d97d5
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523853]
test dword [edi + eax*4 + 0x30], 0x2000
je 0x4d97d5
or byte [esi + 0x140], 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp byte [esi + 0x44], 4
jne 0x4d97d5
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 0x4d97d5
mov al, byte [esi + 0x140]
test al, 0x10
je 0x4d97d5
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.0x4d977e.51
movzx eax, byte [eax + 0x4d9acc]
jmp dword [eax*4 + 0x4d9ac4]
mov al, 4
jmp 0x4d978b
xor al, al
or byte [esi + 0x13b], al
push edi
call fcn.004d9c90
add esp, 4
test al, al
je 0x4d97a5
or byte [esi + 0x13a], 0x40
mov eax, dword [edi + 0x18]
cmp eax, 0xa7
je 0x4d97ce
cmp eax, 0xa5
je 0x4d97ce
cmp eax, 0x9a
je 0x4d97ce
cmp eax, 0x98
je 0x4d97ce
cmp eax, 0x39
je 0x4d97ce
cmp eax, 0x37
jne 0x4d97d5
or byte [esi + 0x137], 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret