Function at 0x4d8bf0
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 0x4d8cdb
movzx eax, byte [edx + 0x523853]
mov eax, dword [edi + eax*4 + 0x30]
mov ecx, eax
and ecx, 0x7f
cmp ecx, 0x1b
je 0x4d8c58
cmp ecx, 0x1a
je 0x4d8c58
cmp ecx, 0x1c
je 0x4d8c58
cmp ecx, 0x1d
je 0x4d8c58
xor dl, dl
mov byte [esp + 0x13], dl
jmp 0x4d8c5d
mov byte [esp + 0x13], 1
cmp ecx, 0x40
jb 0x4d8c71
cmp ecx, 0x5f
ja 0x4d8c71
lea ecx, [eax - 0x40]
xor ecx, eax
and ecx, 0x7f
xor eax, ecx
mov ebx, eax
and ebx, 0x7f
cmp ebx, 0x60
jb 0x4d8d13
cmp ebx, 0x6f
ja 0x4d8d13
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 0x4d8cad
or ebx, 0xffffffff
jmp 0x4d8cbb
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 0x4d907c
je case.0x4d9093.294
sub eax, 0x22
cmp eax, 0xf6
ja case.0x4d9093.295
movzx eax, byte [eax + 0x4d97f4]
jmp dword [eax*4 + 0x4d97b0]
mov ecx, dword [esi + 0x14]
mov edx, eax
shr edx, 7
and edx, 0x3f
cmp byte [ecx + 0xb9], 0
je case.0x4d8d44.21
cmp ebp, 0x133
jne 0x4d8d35
cmp byte [esi + 0x44], 0
je case.0x4d8d44.21
lea ecx, [ebx - 0x11]
cmp ecx, 0xa
ja case.0x4d8d44.21
movzx ecx, byte [ecx + 0x4d98f4]
jmp dword [ecx*4 + 0x4d98ec]
add edx, 3
shr edx, 2
lea ecx, [ebx + edx]
cmp ecx, 0x40
jne 0x4d8d61
or edx, 0xffffffff
or ecx, 0xffffffff
jmp 0x4d8d88
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 0x4d8da8
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 0x4d8ce3
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 0x4d8ce3
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 0x4d8e1b
cmp eax, 9
jne 0x4d97a5
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 0x4d8e47
cmp eax, 9
jne 0x4d97a5
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 0x4d8ed7
test eax, eax
je 0x4d8ed7
cmp eax, 3
jne 0x4d97a5
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 0x4d8f12
test eax, eax
je 0x4d8f12
cmp eax, 3
jne 0x4d97a5
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 0x4d8f43
test eax, eax
je 0x4d8f43
cmp eax, 3
jne 0x4d8f4a
or dword [esi + 0x74], 0x10000000
jmp 0x4d8f4a
or dword [esi + 0x74], 0x800000
cmp byte [esi + 0x44], 4
jne 0x4d97a5
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 0x4d8f8f
test eax, eax
je 0x4d8f8f
cmp eax, 3
jne 0x4d97a5
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 0x4d906b
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 0x4d9040
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
sub eax, 0x126
cmp eax, 0x166
ja case.0x4d9093.295
movzx eax, byte [eax + 0x4d992c]
jmp dword [eax*4 + 0x4d9900]
cmp byte [esi + 0x44], 4
jne 0x4d97a5
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 0x4d92f2
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 0x4d9106
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 0x4d9140
push dword [esp + 0x2c]
call fcn.0045cb80
add esp, 4
mov dword [esp + 0x2c], eax
test dword [ebx + 0x1c], 0x8000
jne 0x4d91e0
push dword [esp + 0x18]
push dword [esp + 0x18]
push ebx
push ebp
call fcn.004d9ab0
add esp, 0x10
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x4d91e0
test byte [ebx + 0x14], 0x20
je 0x4d918d
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 0x4d919d
push 1
push 0
push dword [esp + 0x34]
call fcn.0045ca30
add esp, 0xc
cmp dword [esp + 0x14], eax
jae 0x4d91e0
test byte [ebx + 0x14], 0x20
je 0x4d91cc
mov eax, dword [ebp + 0x18]
sub eax, 0
je 0x4d91bb
mov eax, 1
jmp 0x4d9264
push dword [ebp + 0x20]
push ebx
call fcn.004da310
add esp, 8
jmp 0x4d9264
push 1
push 0
push dword [ebp + 0x20]
call fcn.0045ca30
add esp, 0xc
jmp 0x4d9264
movsx eax, byte [esi + 0x44]
mov ebp, dword [ebx + 8]
push eax
push ebx
call fcn.00410b40
add esp, 8
test al, al
jne 0x4d920a
cmp byte [esi + 0x44], 7
jne 0x4d9215
cmp dword [ebx + 0x2c], 0x1b
jne 0x4d9215
test dword [ebx + 0x1c], 0x10000
jne 0x4d9215
push ebp
call fcn.0045cb80
add esp, 4
mov ebp, eax
test dword [ebx + 0x1c], 0x8000
je 0x4d9229
push ebp
call fcn.0045cb80
add esp, 4
mov ebp, eax
test byte [ebx + 0x14], 0x20
je 0x4d924b
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 0x4d9258
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.004da350
add esp, 0x18
cmp byte [esi + 0x44], 0
jne 0x4d92f2
mov eax, dword [ebx + 0x10]
and eax, 0x3ffff
cmp eax, 4
jne 0x4d92f2
push dword [ebx + 8]
call fcn.0045f9e0
push eax
call fcn.0045f640
add esp, 8
test al, al
je 0x4d92f2
push 1
xor ebp, ebp
push ebp
push dword [ebx + 8]
call fcn.0045ca30
add esp, 0xc
test eax, eax
je 0x4d92f2
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 0x4d92b8
push edi
call fcn.004d9c60
add esp, 4
test al, al
je 0x4d97a5
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 0x4d9362
cmp dword [edi + 0x18], 0x133
jne 0x4d9362
cmp byte [esp + 0x13], 0
jne 0x4d9362
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 0x4d935a
or dword [esi + 0xc0], ebx
or dword [esi + 0xc4], ebp
lea eax, [esi + 0x44]
jmp 0x4d93ef
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 0x4d938e
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 0x4d93ac
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 0x4d93eb
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 0x4d97a5
cmp dword [edi + 0x18], 0x159
jne 0x4d97a5
push edi
call fcn.00410460
push eax
call fcn.004da660
add esp, 8
test al, al
jne 0x4d97a5
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 0x4d9486
cmp dword [edi + 0x18], 0x154
jne 0x4d9486
test cl, cl
jne 0x4d9486
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 0x4d9480
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 0x4d94d8
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 0x4d94d8
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 0x4d9524
cmp dword [edi + 0x18], 0x15a
mov dword [esp + 0x14], eax
jne 0x4d9524
push edi
mov dword [esp + 0x18], ecx
call fcn.00410460
push eax
call fcn.004da660
mov ecx, dword [esp + 0x34]
add esp, 8
test al, al
jne 0x4d9520
or dword [esi + 0x158], ebx
lea eax, [esi + 0x44]
or dword [esi + 0x15c], ebp
mov dword [esp + 0x14], eax
jmp 0x4d9524
mov eax, dword [esp + 0x14]
cmp byte [ecx], 7
jne 0x4d956c
mov edx, dword [edi + 0x18]
cmp edx, 0x15a
je 0x4d953e
mov ecx, eax
cmp edx, 0x158
jne 0x4d956c
push edi
mov dword [esp + 0x30], eax
call fcn.00410460
push eax
push esi
call fcn.004da6a0
add esp, 0xc
test al, al
jne 0x4d9568
or dword [esi + 0x140], ebx
or dword [esi + 0x144], ebp
mov ecx, dword [esp + 0x14]
jmp 0x4d956c
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 4
jne 0x4d97a5
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523853]
test dword [edi + eax*4 + 0x30], 0x4000
je 0x4d97a5
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 0x4d95eb
cmp dword [edi + 0x18], 0x264
jne 0x4d95eb
test cl, cl
jne 0x4d95eb
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 0x4d95e6
or dword [esi + 0xc8], ebx
or dword [esi + 0xcc], ebp
lea eax, [esi + 0x44]
jmp 0x4d9665
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 0x4d961c
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 0x4d9661
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 0x4d9665
mov eax, dword [esp + 0x2c]
cmp byte [eax], 7
jne 0x4d969b
mov eax, dword [edi + 0x18]
cmp eax, 0x266
je 0x4d967b
cmp eax, 0x265
jne 0x4d969b
push edi
call fcn.00410460
push eax
push esi
call fcn.004da6a0
add esp, 0xc
test al, al
jne 0x4d969b
or dword [esi + 0x140], ebx
or dword [esi + 0x144], ebp
mov ebx, dword [esp + 0x2c]
cmp byte [ebx], 4
jne 0x4d97a5
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523853]
test dword [edi + eax*4 + 0x30], 0x2000
je 0x4d97a5
or byte [esi + 0x140], 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
cmp byte [esi + 0x44], 4
jne 0x4d97a5
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 0x4d97a5
mov al, byte [esi + 0x140]
test al, 0x10
je 0x4d97a5
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.0x4d974e.51
movzx eax, byte [eax + 0x4d9a9c]
jmp dword [eax*4 + 0x4d9a94]
mov al, 4
jmp 0x4d975b
xor al, al
or byte [esi + 0x13b], al
push edi
call fcn.004d9c60
add esp, 4
test al, al
je 0x4d9775
or byte [esi + 0x13a], 0x40
mov eax, dword [edi + 0x18]
cmp eax, 0xa7
je 0x4d979e
cmp eax, 0xa5
je 0x4d979e
cmp eax, 0x9a
je 0x4d979e
cmp eax, 0x98
je 0x4d979e
cmp eax, 0x39
je 0x4d979e
cmp eax, 0x37
jne 0x4d97a5
or byte [esi + 0x137], 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret