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

Disassembly:
mov eax, 0x4bfafd
call fcn.004be948
sub esp, 0xf4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x20], 0x41e5
mov dword [ebp - 0x14], 0xf57a7c20
xor ebx, ebx
mov dword [ebp - 0x14], ebx
jmp 0x49d6f0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x49d6df
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], ebx
jmp 0x49d711
mov dword [ebp - 0x28], 0x924c0001
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x14
jle 0x49d701
mov dword [ebp - 0x5c], ecx
xor edi, edi
inc edi
push edi
lea ecx, [ebp - 0x4c]
call fcn.0040a30e
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x14], 0xa0c0e075
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x40], 0x908cb2cc
mov dword [ebp - 0x2c], 0x7fe9
cmp dword [ebp - 0x2c], 0x812d
jle 0x49d7d6
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
mov ecx, ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], 0x12a4
mov esi, ebx
sar eax, cl
mov dword [ebp - 0x28], eax
xor eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0xe8]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x49d78c
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xe8]
call fcn.0040a8ad
inc esi
cmp esi, 0x7546
mov eax, dword [ebp - 0x28]
jl 0x49d772
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
add ecx, esi
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jne 0x49d76b
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x28c4
jl 0x49d75f
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0xca6
jl 0x49d75c
mov dword [ebp - 0x40], 0xfea38a5b
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x2c], 0x7c4f
jge 0x49d7f4
push 0xa9592c
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x49d81d
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x14], ebx
jmp 0x49d83c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], 0x730f94f3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x49d82c
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
neg ecx
mov eax, dword [ebp - 0x4c]
cmp ecx, dword [eax]
jge 0x49d85f
cmp dword [ebp - 0x1c], ebx
mov ecx, edi
jne 0x49d861
mov ecx, ebx
mov eax, dword [ebp - 0x4c]
mov esi, dword [eax]
xor eax, eax
cmp ecx, esi
sete al
xor ecx, ecx
cmp eax, esi
setne cl
xor edx, edx
cmp ecx, esi
setne dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 0x53526c71
cmp edi, ecx
sbb eax, eax
inc eax
mov edx, dword [ebp - 0x4c]
xor ecx, ecx
cmp dword [edx], eax
setl cl
xor eax, eax
cmp ecx, dword [edx]
setne al
mov dword [ebp - 0x14], eax
mov ecx, dword [edx]
mov eax, dword [ebp - 0x14]
add eax, ecx
cmp ecx, eax
jg 0x49dae5
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x2c], 0x6150
cmp dword [ebp - 0x2c], 0x619f
jle 0x49d93f
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
cdq
idiv dword [ebp - 0x14]
sub ecx, edx
mov eax, esi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0xd0]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x49d8f7
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xd0]
call fcn.0040a8ad
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x4df5
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
jl 0x49d8d5
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x743d
jl 0x49d8d2
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x2ba7
jl 0x49d8cd
inc esi
cmp esi, 0x155a
jl 0x49d8c8
mov dword [ebp - 4], 2
cmp dword [ebp - 0x2c], 0x5dc7
jge 0x49d95a
push 0xa95948
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x49d983
mov dword [ebp - 0x14], ebx
jmp 0x49d995
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x49d988
mov dword [ebp - 0x14], 0xfffffffb
cmp dword [ebp - 0x14], 0x12
jle 0x49daf3
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x20], 0x197e
cmp dword [ebp - 0x20], 0x19aa
jle 0x49da1c
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x2c], ecx
mov ebx, dword [ebp - 0x18]
mov eax, esi
cdq
idiv ecx
lea ecx, [edi + edx]
mov eax, ebx
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x1e0c
jl 0x49d9ce
inc esi
cmp esi, 0x201d
push 0
pop ebx
jl 0x49d9c6
inc edi
cmp edi, 0xef9
jl 0x49d9c4
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x1498
jl 0x49d9c2
xor edi, edi
inc edi
mov dword [ebp - 4], 4
cmp dword [ebp - 0x20], 0x1685
jge 0x49da3b
mov edx, 0xa9598c
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x49da64
mov dword [ebp - 0x1c], ebx
jmp 0x49da7a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xac], 0x674f9af3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x49da69
mov dword [ebp - 0x1c], 0xffffffe7
jmp 0x49dac0
mov dword [ebp - 0x18], 0xfbcae26e
mov eax, dword [ebp - 0x4c]
mov dword [eax], 0xe511bd77
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xa8], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xd
jg 0x49da89
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x49dadd
push 0x18d5
push ebx
push ebx
push ebx
call dword [0xaab39c]
inc dword [ebp - 0x14]
jmp 0x49d9a2
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0x1a
jl 0x49dc82
mov dword [ebp - 0x20], 0x72c95c8f
mov dword [ebp - 0x18], 0xedd67940
mov dword [ebp - 0x24], 0xf5726b06
mov dword [ebp - 0x30], 0x996bd0c
mov dword [ebp - 0x2c], 0x76a6
cmp dword [ebp - 0x2c], 0x7a84
jle 0x49db78
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
or eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x100]
call fcn.004019b1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x49db4d
mov eax, dword [eax]
push eax
call fcn.004a91a7
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x100]
call fcn.0040a8ad
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x6b70
jl 0x49db33
inc esi
cmp esi, 0xe9f
jl 0x49db2e
mov dword [ebp - 0x40], 0xd331f862
mov dword [ebp - 4], 6
cmp dword [ebp - 0x2c], 0x74f8
jge 0x49db9a
push 0xa959b0
call fcn.004a91a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x49dbc3
push 3
lea ecx, [ebp - 0x94]
call fcn.0040a30e
mov dword [ebp - 0x18], ebx
jmp 0x49dbe8
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x94]
mov dword [eax + ecx*4], 0xdd0043bd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x49dbd5
mov dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffb
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov ecx, dword [ebp - 0x4c]
imul eax, dword [ecx]
test eax, eax
jne 0x49dc29
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx]
imul eax, eax
test eax, eax
jne 0x49dc39
cmp dword [ebp - 0x30], ebx
mov ecx, ebx
je 0x49dc3b
mov ecx, edi
mov eax, dword [ebp - 0x20]
add eax, ecx
cmp eax, dword [ebp - 0x1c]
jl 0x49dc48
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, ecx
setle dl
mov eax, dword [ebp - 0x30]
imul eax, edx
xor ecx, ecx
cmp eax, 0xb45d
setne cl
neg ecx
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
inc dword [ebp - 0x34]
lea ecx, [ebp - 0x94]
call fcn.0040a3e0
inc dword [ebp - 0x1c]
jmp 0x49daf6
lea ecx, [ebp - 0x4c]
call fcn.0040a3e0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], 0x4e47
cmp dword [ebp - 0x24], 0x4fd7
jle 0x49dd21
push 0x1c58
push 0x564
push 0x1213
push 0x11be
push 0xa37
call dword [0xaab0f8]
mov dword [ebp + 8], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], 0x1451
mov ebx, dword [ebp + 8]
mov eax, edi
shl eax, cl
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
mov ecx, dword [ebp - 0x34]
add ecx, esi
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x30]
jne 0x49dcdb
inc esi
cmp esi, 0x7265
push 0
pop ebx
jl 0x49dccc
inc edi
cmp edi, 0x2535
jl 0x49dcca
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0x4938
jl 0x49dcc8
xor edi, edi
inc edi
mov dword [ebp - 0x18], 0xfff8
mov dword [ebp - 4], 8
cmp dword [ebp - 0x24], 0x4cd2
jge 0x49dd47
mov edx, 0xa959f8
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x49dd70
mov dword [ebp - 0x14], 0x896e6a37
mov dword [ebp - 0x20], 0x188047d2
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x28], 0xcc90
mov dword [ebp + 8], ebx
jmp 0x49dda6
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x64], edi
inc dword [ebp + 8]
cmp dword [ebp + 8], 2
jl 0x49dd9c
mov dword [ebp - 0x2c], 0x47ae
cmp dword [ebp - 0x2c], 0x491e
jle 0x49de1f
mov dword [ebp - 0x24], ebx
mov dword [ebp + 8], ebx
mov dword [ebp - 0x30], 0xc86
mov eax, ebx
mov dword [ebp - 0x34], eax
mov esi, dword [ebp + 8]
mov edi, ebx
mov dword [ebp - 0x38], esi
mov ecx, eax
sar esi, cl
mov eax, esi
or eax, edi
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
inc edi
cmp edi, 0x4153
jl 0x49ddda
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x2ba8
mov esi, dword [ebp + 8]
jl 0x49ddd1
mov esi, dword [ebp - 0x24]
add dword [ebp + 8], esi
dec dword [ebp - 0x30]
jne 0x49ddc9
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x11e3
jl 0x49ddbf
xor edi, edi
inc edi
inc dword [ebp - 0x18]
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x2c], 0x440b
jge 0x49de41
mov edx, 0xa95a68
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x49de6a
mov eax, dword [ebp - 0x64]
inc dword [ebp - 0x64]
test eax, eax
je 0x49de89
mov eax, dword [ebp - 0x20]
neg eax
cmp eax, 0xffff
ja 0x49de86
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edi
setle cl
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp - 0x18]
sub ecx, eax
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
push 3
lea ecx, [ebp - 0x58]
call fcn.0040a30e
mov dword [ebp + 8], 0xf230
mov dword [ebp - 0x18], ebx
jmp 0x49dee1
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], 0xb4e1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x49ded1
mov esi, dword [ebp - 0x58]
xor eax, eax
cmp dword [esi + 8], edi
setl al
imul eax, dword [esi + 8]
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp + 8]
sub eax, dword [ebp + 8]
add eax, dword [ebp + 8]
cmp eax, 0x921ded68
jne 0x49e108
mov eax, dword [ebp - 0x58]
cmp dword [eax], ebx
je 0x49e108
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp + 8], ebx
jmp 0x49df37
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x68], 0x32f520a0
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
jl 0x49df29
mov dword [ebp + 8], ebx
cmp dword [ebp + 8], 0x1c
jle 0x49e008
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], 0xb11f3813
mov dword [ebp - 0x28], 0x515e
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x18], ebx
je 0x49dfa6
mov edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp eax, edx
setge cl
mov eax, 0xffff419e
sub eax, dword [esi + 8]
cmp ecx, eax
je 0x49df90
cmp dword [ebp + 8], ebx
mov edx, ebx
je 0x49df92
mov edx, edi
xor ecx, ecx
mov eax, dword [ebp - 0x58]
cmp edx, dword [eax]
setl cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
mov edx, edi
jne 0x49dfa8
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x14]
xor eax, eax
cmp ecx, 0xffffffff
setg al
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
imul eax, dword [ebp - 0x28], 0x7ff5
xor ecx, ecx
mov edx, dword [ebp - 0x38]
cmp eax, dword [edx + 4]
setg cl
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x68], ecx
inc dword [ebp + 8]
cmp dword [ebp + 8], 0x1c
jg 0x49df4f
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0xffffffe2
jle 0x49e12a
mov byte [ebp + 0xb], bl
mov dword [ebp - 0x30], 0x742f
cmp dword [ebp - 0x30], 0x743c
jle 0x49e09d
push 0xde9
push ebx
push ebx
push ebx
call dword [fcn.00aab31c]
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x38], esi
mov ecx, edi
mov edi, esi
sar edi, cl
mov esi, dword [ebp - 0x20]
mov eax, edi
xor eax, ebx
or eax, esi
cdq
push edx
push eax
mov ecx, 0xaa82b8
call fcn.00409fb9
inc ebx
cmp ebx, 0x477
jl 0x49e052
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x72c8
push 0
pop ebx
mov esi, dword [ebp - 0x34]
jl 0x49e043
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x6bbc
jl 0x49e03e
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x4584
jl 0x49e039
cmp byte [ebp + 0xb], 0
je 0x49e0ac
push ebx
push ebx
push ebx
call dword [0xaab550]
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x30], 0x740f
jge 0x49e0cb
mov edx, 0xa95ac0
mov ecx, 0xaa82b8
call fcn.0040ca6e
or dword [ebp - 4], 0xffffffff
jmp 0x49e0f1
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x49e100
call dword [fcn.00aab370]
dec dword [ebp - 0x14]
jmp 0x49e00b
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x49e11b
push ebx
push ebx
push edi
push ebx
call dword [0xaab384]
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x49e12a
call dword [0xaab36c]
mov dword [ebp + 8], ebx
jmp 0x49e141
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp + 8]
cmp dword [ebp + 8], 2
jle 0x49e12f
lea ecx, [ebp - 0x58]
call fcn.0040a3e0
mov esi, dword [ebp - 0x5c]
mov eax, dword [esi]
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebx]
cmp dword [ebx], 0xb0ad8ea5
sbb eax, eax
neg eax
mov ecx, dword [ebx]
imul ecx, eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebx]
mov eax, dword [esi]
mov eax, dword [ebx]
mov eax, dword [ebx]
xor ecx, ecx
cmp eax, 0xd95f
setge cl
mov eax, dword [ebx]
xor edx, edx
cmp eax, ecx
setle dl
mov eax, dword [ebx]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esi], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret